refactor station update and fix bugs