implement change logic and safety measures

had some bad experience with 1 ms click speed