Added user authentication, flash messages and styling