restructure the whole app, make login, give a better style