adding authentication; modifying model