refs #48: refactor