implemented addItemToUser, done some refactoring and cleanup