some refactoring + added views