added login, logout functionality, and restriction on adding a category via decorator