Faculty of Science, University of Ibadan, Nigeria. CSC 399 Industrial Training
Faculty of Science, University of Ibadan, Nigeria. CSC 399 Industrial Training
Faculty of Science, University of Ibadan, Nigeria. CSC 399 Industrial Training
FACULTY OF SCIENCE,
UNIVERSITY OF IBADAN,
NIGERIA.
CSC 399 INDUSTRIAL TRAINING
University of Ibadan,
Ibadan,
Oyo State.
The Director,
University of Ibadan,
Dear Sir,
I, ODEKNLE Oluwatobi Alao, with matriculation number 200868 having completed my 24 weeks of SIWES
training being a requirement for the completion of my B.Sc. in Computer Science, hereby, write to submit the
technical report.
Yours faithfully,
I would like to acknowledge the help and support of the following towards the success of the completion
of my 6 months Students Industrial Work Experience Scheme ( SIWES) at O'Bounce technologies.
My creator, God Almighty, for his sufficient grace and agape love over my life together with
maximum protection and provisions during the period of my Industrial Training.
My parents, Mr. and Mrs. Odekunle for their love and kindness which led them to financially
support me even emotionally throughout my internship.
My siblings, for their word of encouragement which helped me during my internship at O'Bounce
Technologies.
My friends, for supporting me with resources to update and upgrade myself during the internship.
My lecturers, who taught me the foundation of what I used during the internship and after the
internship.
ITCC officials, for their piece of advice, word of encouragement, visitation and support during
the Internship Training period.
Department of Computer Science, University of Ibadan for given me an admission in the first
place to be a Computer Scientist which now led to provision of facilities needed to improve on
my skills and helping me to how I can also help the world.
Univeristy of Ibadan for putting such an awesome program which helped me to see beyond
writing program to seeing the opportunities present for me in the Computer Science World.
O'Bounce Technologies CEO, Mr. Adekunle Opeyemi Paul for acccepting me to do my
internship at O'Bounce Technologies and also for allowing me to show my skills during the
internship.
Staff at O'Bounce Technologies most especially Mr Adekunle Paoul and Mr Olajide for
challenging to be a better problem solver in the Comuter Science World.
My course mates Amigun Ayodeji Temitope, Johnson Olumide Paul, Oseni Ifeoluwa Daniel that
we did our 6-months Internship Training together at O'Bounce Technologies, Ibadan.
2
This report is about the Industrial Training which I did for six months at O'Bounce Technologies,
one of the leading software development company in Ibadan.
This report is basically divided into six different chapters of which the first chapter talked about
the company as a whole. It explained the detailed information of the company as well as the staff
members al together. The second chapter talked about the technologies like programming
languages and frameworks used during the company which now led to the explanation of the
projects undertaken during the program which is on the third chapter. There are two part of
experience, the positive and negative. The problems encountered is elaborated on the forth
chapter. The report would be incomplete without talking about courses offered that helped me
during my training which is elaborated on the fifth chapter. Lastly, conclusion and highlighted
recommendations are explained during the last chapter which advised the department, ITCC and
the company based on the experience during the training.
The team at O'Bounce Technologies is made up of a team of web designers, web developers,
graphics designers, mobile app developer, marketers and a manager.
TryJambCBT, an online Computer-based testing and learning software application for Jambites in
preparation for the University Tertiary and Matriculation Examinations is one of the major solution
developed to help students. IbadanTalk a platform where news and information regarding Oyo state are,
MyPage a social media platform developed for all Nigerians, MyExam a platform developed to help
people related all examinations. MyVTU is the most recent software product of O’Bounce Technologies
which does most subscription online for people at a cheaper price.
SoulConnect is jointly owned and managed by O’Bounce Technologies and Mr. Adedotun
Amosun(Mr. Soul of Fresh FM 105.9 ) a popular radio presenter who anchors Confession time, meet soul
@ Fresh FM, Ibadan.
Other clients of O’Bounce Technologies includes Obafemi Awolowo University (OAU), Samuel
Adegboyega University (SAU), Triumphant University situated in Benin Republic, Mr Adedotun
Amosun (Mr. Soul of Fresh FM) a radio presenter who anchors confession time on Fresh FM, Ibadan,
Christ Power Media Church and others.
During the internship, different technologies was used for the development of various
projects assigned to me. This chapter is divided into 4 sub sections, namely:
2.1.1 HTML
According to Wikipedia, Hypertext Markup Language (HTML) was developed by Tim
Berners Lee in 1980 as the standard markup language for creating web pages and web
applications. With Cascading Style Sheets (CSS) and JavaScript, it forms a triad of cornerstone
technologies for the World Wide Web.
Web browsers receive HTML documents from a web server or from local storage and render the
documents into multimedia web pages. HTML describes the structure of a web page semantically and
originally included cues for the appearance of the document. HTML can embed programs written in a
scripting language such as JavaScript and PHP, which affects the behavior and content of web pages.
9
HTML was effectively used during my internship to structure the whole contents like text,
images, videos, tables, divisions and the likes for a web application in order for the browser to render it to
properly for the user to have best experience and interaction on the application.
LIMITATIONS
HTML is not a programming language and can not be used in writing a software that
instructs the computer to perform an operation. However, it is only useful to create static web
page and also to structure the whole concept of the web page. Finally, web pages created with
HTML are not beautiful and not dynamic in nature.
2.1.2 CSS
According to Wikipedia, Cascading Style Sheets (CSS) was developed by Håkon Wium
Lie in 1996 as a style sheet language used for describing the presentation of a document and
adding beauty to web page written in a markup language like HTML. CSS is a cornerstone
technology of the World Wide Web, alongside HTML and JavaScript.
CSS is designed to enable the separation of presentation and content, including layout,
colors, and fonts. This separation can improve content accessibility, provide more flexibility and
control in the specification of presentation characteristics, enable multiple web pages to share
formatting by specifying the relevant CSS in a separate file with the .css extension, and reduce
complexity and repetition in the structural content.
The name cascading comes from the specified priority scheme to determine which style
rule applies if more than one rule matches a particular element. This cascading priority scheme is
predictable.
10
The main benefit of CSS is that style is applied consistently across a number of web
pages. One command line can control several areas at one time, which is quite advantageous if
there are changes that need to be made. You only need to alter one thing and the rest will follow.
More so, web designers only need to use a small amount of lines of programming for each page.
And if there are less code, there are fewer lines to read, resulting in a faster load time for every
page.
Furthermore, Cascading style sheet not only simplifies website development, but also
maintenance. All the codes are placed on one page, which means making improvements or
changing a few lines will not involve going through several pages. And since a change with a
single line of code is applied across the website, maintenance time and effort are significantly
reduced.
LIMITATIONS
CSS is only a cascading style sheet and not a programming language. It can not be used for
anything that has to do with logic and given instructions to computers. Moreover, not all
browsers support the same all CSS syntax and logic which is why front-end developers have to
test for compatibility which is a major challenge.
However, CSS doesn’t have the built-in security that will protect it from being overridden.
Anyone who has a read/write access to a website can change the CSS file, alter the links or
disrupt the formatting, whether by accident or design.
11
Alongside HTML and CSS, JavaScript is one of the three core technologies of the World Wide
Web. JavaScript enables interactive web pages and thus is an essential part of web applications. The vast
majority of websites use it, and all major web browsers have a dedicated JavaScript engine to execute it.
JavaScript is widely accepted by most of the web browsers so that the interaction at client
side with the user is made more interesting and easier. You can add animations into the page
which either attract attention to a specific part of the page or which make the page easier to use
and responses within the web page can be provided to various actions that your visitor takes so
as to avoid the need to load new web pages to respond.
LIMITATION
The major disadvantage of JavaScript is that it can be exploited for malicious purposes on the
user’s computer and this is one reason some people choose to disable JavaScript on their browser.
12
Bootstrap provides a set of stylesheets that provide basic style definitions for all key
HTML components. These provide a uniform, modern appearance for formatting text, tables and
form elements.
Bootstrap comes with several JavaScript components in the form of jQuery plugins. They
provide additional user interface elements such as dialog boxes, tooltips, and carousels. They
also extend the functionality of some existing interface elements, including for example an auto-
complete function for input fields. In version 1.3, the following JavaScript plugins are supported:
Modal, Dropdown, Scrollspy, Tab, Tooltip, Popover, Alert, Button, Collapse, Carousel and
Typeahead.
The css and the js file can be included within a Web page by linking to a local copy or to
one of the many copies available from public servers.
<script src="bootstrap.min.js"></script>
<link rel="stylesheet"
href="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.4/css/bootstrap.min.css" >
<script
src="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.4/js/bootstrap.min.js"></script>
13
Bootstrap is the core design frameworks used in designing a lot of websites because of
how easy it is to use, responsive and flexible it is. It is very easy and fast to design a website with
bootstrap. It also gives the developers the flexibility to develop. It’s a CSS framework with
predefined classes for layout using its grid system, various CSS components and JavaScript
functions. It also offers a 12 column grid system. The grid system is responsive, that is it adjusts
itself depending on the device resolution of the client. It can be tailor made according to the
specifications of your project. It also gives the developer the rest of mind that the website
designed using this framework will appear the way he wants it to appear on any device. During
the internship, this library was used to designed responsive websites that supports different
browsers.
LIMITATIONS
Bootstrap does not support SASS and it is kind of heavy when used on a website especially on
low internet connection.
2.1.5 JQUERY
According to Wikipedia, JQuery was released in the year 2006, as a cross-platform
JavaScript library designed to simplify the client-side scripting of HTML. Its syntax is designed
to make it easier to navigate a document, select DOM elements, create animations, handle
events, and develop Ajax applications. .
The jQuery library is a single JavaScript file containing all of its common DOM, event,
effects, and Ajax functions. It can be included within a Web page by linking to a local copy or to
one of the many copies available from public servers. The file can be downloaded from jQuery
official website at http://www.jquery.com. The downloaded file is then imported into the web
page.
<script src="jquery.js"></script>
14
<script src=https://code.jquery.com/jquery-3.3.1.min.js”></script>
JQUERY was used as an alternative to Vanilla JavaScript( basic or raw JavaScript) which
requires a lot of lines to perform some actions that can take lesser lines using jQuery. Writing program
using Vanilla JavaScript is always stressful and takes time especially for complex applications. jQuery
provides two kinds of functions, static utility functions and jQuery object methods. Each has its own
usage style and are accessed through jQuery main identifier. Finally, JQUERY was also used for solving
compatibility issues.
Developers find jQuery intuitive and easy to learn -- this library is built on shorter,
simpler code. With simple syntax and open coding standards, developers can shorten the time it
takes to deploy an application or site. More so, it has a lot of different animations compared to
vanilla JavaScript. About 73% of the top 10 million most popular websites uses jQuery as of
May 01, 2019.
Since Google and other search engines use page load time as one of the many factors
affecting Search Engine Optimization, every developer strives to make code as light and concise
as possible with the help of jQuery.
Like CSS, jQuery files are generally stored separately from the Web page itself. This lets
developers make modifications across the entire site through one central repository instead of
search through folder structures. This is a core benefit of CSS coding, and it is a proven success.
Manipulation of Document Object Model is now very easy compare to Vanilla JavaScript.
15
As your application grows, you might want to consider a more integrated setup. There are
several JavaScript toolchains we recommend for larger applications. Each of them can work with
little to no configuration and lets you take full advantage of the rich React ecosystem. Create
React App is one of the recommended integrated setup.
Create React App is a comfortable environment for learning React, and is the best way to
start building a new single-page application in React.
It sets up your development environment so that you can use the latest JavaScript
features, provides a nice developer experience, and optimizes your app for production. You’ll
need to have Node >= 8.10 and npm >= 5.6 on your machine. To create a project, run:
npx create-react-app my-app
cd my-app
npm start
16
LIMITATIONS
First of all many developers switch to ReactJS because of the many advantages it has compared
to other UI frameworks. It is hard to make out the disadvantages, because there are many
advantages that come with them. I will name the following:
It is a UI library only. As such when building something with React you will have to
include other libraries to handle other parts of an application, such as application state.
When comparing it to a monolithic framework such as AngularJS, you will find that there
is no predefined way to structure your app (such as services, controllers & views in
Angular). This means that it is the responsibility of the developer to find his/her own
ways to effectively manage several parts of the application without a predefined
structure. This can lead to significant overhead and long development times when the
devised structure is bad or ineffective.
To avoid these pitfalls, it is not enough to just learn React and start coding. If you want to
avoid trouble in the long run you have to research popular & effective ways to structure
your app from third parties, such as blogs or example apps from github. Those however
are rarely detailed enough to represent a complex application and as such can’t give you a
good guideline on what to do and not to do. You will have to make your own experiences
here and learn from them.
17
React is still very young. The ecosystem behind it (open-source libraries, components) is
still small compared to older frameworks such as Angular. You will not always find what
you are looking for in open-source contributions.
Touching on the last point, while React’s APIs are mostly stable, there are still some
things that can change in future versions (such as the childContext API). There is no
guarantee that the code you write today will work with future versions of React.
Last but not least, it features a radically different approach to UI design by introducing
reusable components. The process of learning how to think in React can be difficult for
you if you have extensive experience using other methods, such as MVC. You basically
have to avoid falling back into old thought patterns because they most likely don’t work
effectively with React.
18
2.2.1 PHP
HyperText Preprocessor (PHP) was developed by Rasmus Lerdorf in 1994 as a server-
side scripting language designed for Web development, but also used as a general-purpose
programming language.
PHP code may be embedded into HTML code, or it can be used in combination with
various web template systems, web content management systems, and web frameworks. PHP
code is usually processed by a PHP interpreter implemented as a module in the web server or as
a Common Gateway Interface (CGI) executable. The web server combines the results of the
interpreted and executed PHP code, which may be any type of data, including images, with the
generated web page. PHP code may also be executed with a command-line interface (CLI) and
can be used to implement standalone graphical applications.
PHP has always been considered ‘loose’ and informal, right from its inception. It was
conceived around 1994, but was only formalized sometime around 1998. However, it has grown
to become very popular among web developers and related firms. It has evolved to the new
Object Oriented PHP (OOPHP), which uses the Object-Oriented Programming Approach in web
development.
PHP is a server side scripting language. that is used to develop Static websites or
Dynamic websites or Web applications. PHP stands for Hypertext Pre-processor, that earlier
stood for Personal Home Pages. PHP scripts can only be interpreted on a server that has PHP
installed. .
19
PHP is the most common server-side programming languages used for developing
websites in the world. According to the report released by builtwith.com, 54% of the websites all
over the world were developed by PHP. PHP is easy to learn, compatible with almost all hosting
platforms and has a large support for users.
2.2.2 NODEJS
Node.js is an open-source and cross-platform JavaScript runtime environment. It is a
popular tool for almost any kind of project. Node.js runs the V8 JavaScript engine, the core of
Google Chrome, outside of the browser. This allows Node.js to be very performant.
A Node.js app is run in a single process, without creating a new thread for every request.
Node.js provides a set of asynchronous I/O primitives in its standard library that prevent
JavaScript code from blocking and generally, libraries in Node.js are written using non-blocking
paradigms, making blocking behavior the exception rather than the norm.
When Node.js needs to perform an I/O operation, like reading from the network,
accessing a database or the filesystem, instead of blocking the thread and wasting CPU cycles
waiting, Node.js will resume the operations when the response comes back.This allows Node.js
to handle thousands of concurrent connections with a single server without introducing the
burden of managing thread concurrency, which could be a significant source of bugs.
Node.js has a unique advantage because millions of frontend developers that write
JavaScript for the browser are now able to write the server-side code in addition to the client-side
code without the need to learn a completely different language.
20
Node.js has been regarded as a full-stack JavaScript for serving both the client and the server-
side applications. Therefore, the advantage is that you don't have to hire separate developers for
backend as well as the front-end development. It saves both your valuable money and time. The
following are the advantages:-
Open Source
Node.js is open source, so it’s free to use and no need to pay for license. There are
also many open source modules supported by Node.js.
It uses JavaScript as a programming language for both front-end and back-end which
increase programmer productivity and code reusability.
Scalable
You can scale your Node.js application by using two ways – Horizontal Scaling and
Vertical Scaling, which helps you to improve your application performance.
In Horizontal scaling you can add more nodes to your existing system.
Better Performance
21
Caching Support
Node.js supports caching of modules. Hence, when a Node.js modules is requested first
time, it is cached into the application memory. So next calls for loading the same module may
not cause the module code to be executed again.
Node.js is based on JavaScript which can be executed on client side as well as server side.
Also, it supports exchange of data using JSON which is easily consumed by JavaScript.
This makes it light weight as compared to other frameworks.
Node.js is open source. Hence you can extend it as per your need.
Using Node.js you can also develop RESTful services API easily.
Unit Testing
It supports unit testing out of box. You can use any JS unit testing frameworks like
Jasmin to test your Node.js code.
Server Development
Node.js has some built-in API which help you to create different types of Server like
HTTP Server, DNS Server, TCP Server etc.
Community Support
22
LIMITATIONS
It doesn’t support very high computational intensive tasks. When it executes long running task, it
will queue all the incoming requests to wait for execution, since it follows JavaScript event loop
which is single threaded.
2.3.1 MySQL
MySQL is an open-source relational database management system. Its name is a
combination of "My", the name of co-founder Michael Widenius's daughter, and "SQL", the
abbreviation for Structured Query Language.
MySQL is a freely available open source Relational Database Management System
(RDBMS) that uses Structured Query Language (SQL). SQL is the most popular language for
adding, accessing and managing content in a database. It is most noted for its quick processing,
proven reliability, ease and flexibility of use.
MySQL runs on virtually all platforms, including Linux, UNIX, and Windows. Although
it can be used in a wide range of applications, MySQL is most often associated with web-based
applications and online publishing and is an important component of an open source enterprise
stack called LAMP. LAMP is a Web development platform that uses Linux as the operating
system, Apache as the Web server, MySQL as the relational database management system and
PHP as the object-oriented scripting language. (Sometimes Perl or Python is used instead of
PHP).
23
MySQL is the database system that powered all the websites developed in O'Bounce
Technologies because of how easy it is to relate with the database. Since it was also free and support was
great it was the right choice Database to use.
MySQL is very easy to install and there’s a large and thriving community of developers and
enthusiasts to which one can turn for help.
LIMITATION
24
2.4.1 Wordpress
WordPress is a free and open-source content management system (CMS) based on PHP
and MySQL. To function, WordPress has to be installed on a web server, which would either be
part of an Internet hosting service or a network host in its own right. An example of the first
scenario may be a service like WordPress.com, and the second case could be a computer running
the software package WordPress.org.
A local computer may be used for single-user testing and learning purposes. Features
include a plugin architecture and a template system. WordPress is used by 30.6% of the top 10
million websites as of April 2018. As such, WordPress is the most popular website management
or blogging system in use on the Web, supporting more than 60 million websites.
WordPress was used in the development and management of different websites during
my Internship. It was used in designing websites for clients and also for the company’s website.
WordPress is very easy to use and has an intuitive interface. Adding new pages, blog
posts, images, etc. on a regular basis is a breeze and can be done quickly. Because the
technology is so simple, time spent on formatting is greatly reduced.
WordPress is a self-contained system and does not require HTML editing software like
Dreamweaver. You can create new pages or blog posts, format text, create gallery and slides,
upload images (and edit them), upload documents, video files, image galleries, etc. all without
the need for additional HTML or FTP (File Transfer Protocol) software.
WordPress enables the use of plugins such Yoast SEO, Google Analytics, JetPack which
are developed by individuals or respective organizations to perform certain actions. Most of
these plugins have free version with limited capabilities while the paid version(premium) does
not have any limitation.
25
LIMITATIONS
In the development of medium and large scale web applications using WordPress, special
skills and time is required.
Being the most popular Content Management System, there are many free plugins and
themes available for free and from that hackers and spammers make use of that opportunity.
Not all themes and plugins are free to use. Some best ones require payment before use.
26
3.1 Introduction:
Student Industrial Work Experience Scheme is a great program which will give
students opportunity to discover themselves by working on real life projects. This chapter
is about explaining the different kind of projects that I undertook during the period of my
Industrial Training.
27
This project was divided into front-end and back-end section. HTML, CSS,
BOOTSTRAP, JAVASCRIPT AND REACTJS was used to designed the user interface and
interaction of the project while NODEJS AND MYSQL was used as the back-end technologies.
This project was tested on a NodeJS local server and approved by the supervisors.
28
This project was divided into three sections. Administrative, Teacher and Student
sections of which I worked on the Student section which includes a platform for the students to
take examination online, check their result and other stuffs. The back-end APIs was provided by
the company of which I only worked on the front-end section of the project using HTML, CSS,
BOOTSTRAP, JAVASCRIPT, JQUERY and REACTJS.
Fi
gure 3.2.2 Student Login Page
29
One of the cool features of the MyPage Messenger is that it is a real time chat system
which means users do not have to refresh their page to see the latest messages and notifications.
This app was developed using HTML, CSS, BOOTSTRAP, JAVASCRIPT AND REACTJS.
30
Past Questions Fetcher is a simple web application that fetches questions based on year, subject
and number of questions from ALOC endpoints and send the response data back to TryJambCBT
database in real time. The application achieved the same thing achieved previously in one day and 10
people in just 5 minutes. It was developed with HTML, CSS, BOOTSTRAP, JAVASCRIPT AND
REACTJS.
31
This was developed and deployed for testing in just a day with HTML, CSS,
BOOTSTRAP, JAVASCRPT, REACTJS AND FIREBASE. It was tasking because that was my
first time of using Firebase.
32
The system allows the admin to add staff members with a unique identifier and password.
Both admin and staff members can add products and customers. A lot of functionalities was
included like notifying when a product is getting low in the store, notifying when a customer has
passed the promised date for payment of the product. Security is another aspect in which a staff
cannot edit what others have done. Truck Service Management System was also developed for
the system.
The above system was achieved using HTML, CSS, BOOTSTRAP, JAVASCRIPT,
REACTJS, PHP AND MYSQL. It was a little bit tasking because I had to study the spreadsheet
and understand all the financial terms and calculations used on the project.
34
Fi
gure 3.2.7 questions page
35
The project was developed using HTML, CSS, JAVASCRIPT, JQUERY, PHP AND
MYSQL. In a team of four, a project manager, graphics designer and two web developers which
I happened to be one.
The most challenging part of the project was disorganization which led to given
additional time on the project before submission.
36
37
38
CHALLENGES ENCOUNTERED
Life experience is of two parts. It is either positive or negative. I am of the mind that
explaining the positive experiences without touching the challenges encountered during the
internship would make this report incomplete.
There are several challenges encountered during the internship which are listed below-
During the internship, I was the only JavaScript and React developer which affected me a
lot because anytime I ran into errors, I solved it myself. There was no one assigned to me
to read and correct most of my codes. They were only after the output which should not
be so.
I spent so much on transportation because from where I stayed, I had to take motorcycle
to UI junction and from there to Sango where the company was located. Trekking from
my house to the company and vice versa was also another challenge because the company
did not pay us and I had to be at the company every day.
40
Business Programming (CSC 292) was also a course taken in 200 Level first semester which
gave me introduction to web development using HTML, CSS, JAVASCRIPT AND PHP.
Use of English (GES 101), a general English course which helped me in communicating well in
the office and during marketing of products.
Algorithm ( CSC 233), a wonderful course offered in 200 Level second semester which helped
me in analyzing and solving of problems. Most of the applications worked on were optimized
and also scalable because of this course.
Data Structures (CSC 341), a 300 Level first semester course which helped throughout my stay
at the company because I was able to build applications that made use of suitable data structures
eg Arrays, Stacks, Queues, Linked List and the likes.
Survey of Programming Languages (CSC 332), a 300 Level first semester course which
helped me to learn different programming languages like java, python, cplusplus, php, javascript,
csharp and c. This course actually helped during my internship whenever I was asked to learn
something new.
System Analysis and Design (CSC 302), a 300 Level first semester course which I learnt how
to turn requirements to specifications. The course helped me to understand how to build a right
solution to any given problem.
41
6.1 Conclusion
My six months’ experience at O'Bounce Technologies gave me a lot of exposure to the
Computer World as a whole. It trained me on how to learn and work under pressure which is one
of the great attribute of a problem solver in any organization.
Also, I used the opportunity to learn new skills in developing real-life problems using
cutting-edge technology.
Interpersonal skills were also learnt because there was a good relationship among staff
members and interns which had given me confidence to work anywhere in the world.
6.2 Recommendations
The training helped me in discovery of new ideas of which I would like to share. The
following are my recommendations.
The Computer Science Department should find a way of connecting students to medium
and large scale technology companies which would help students to have their internship
in the top technology companies.
The students should be given some stipends during the training by the company at least to
cover some basic expenses like transportation.
Fast internet access should be provided for students in the company for learning of new
skills that are or not available at the company.
42
43