view refactoring

resolves issue #3