refs #331 refactoring