Added all the functionality except login for part 1