Comments Everywhere

And a couple of helper functions