refs #5 improved interface