initial skeletonwith bcrypt and user helper functions