user functions done.