Added first part of the source code