implemented all the views