first commit
First part done. (Without bonus)