fixes #78
starts #82, need to apply refactor rest of actions