views and controller setup