better error handling, user login layout