user functions scaffolding & controller