added login screen

also implemented a few other methods