[remove] development file
[refactor] use a needPush state to maintain flow