refs #8: code refacor