add homing,reset and some relevant function