refactoring based on feedback from Angus