working version of the first part of the project.
validation workd + full comments
need to finish second part