added user functions