closes #11
opened #22 for further enhancement