1. state machine
2. better locate tooltip