add proper authentication
remove primitive obsession