closes #34. progress with #28