implementing the views