refactoring to MVC-like approach; adding another view!