completed amost of UCF functions