Refactor user & base models etc