implement basic user controll function