commit before refactoring
todo:
1. adjust the screen synchronization
2. use keywords to implement existing tests