heavily commented
removed Jasmine, I wont really write unit tests for this
midzip