adding more robust login system