most of the exercises implemented