User functionality and authentication added