Refactor model and reduce views