Most of my part of the project

See commit comments