continued user functions