refactor / merge changes