refactor and adding view5