major refactor and cleaner views