user authentication
modularizing code