#3: probably fix idle state