added authentication, organized routes, refactored views