a lot closer to working correctly
0.1.2