Adding exposition
A little cleanup + more tests (they should pass, but don't. Too tired to figure it out tonight)