improve return route for pull-to-action
refactor time checking code
remove some TODOs by refactoring some code into the model