added login system, will need to be refined