adding authentication (sign-in, sign-up, logout, forgot pass, etc) functionality