First merge

Moving modules one at a time - will update this PR as I go along
YYYY-MM means we won't have localisation issues with serialisation. Although this code looks fine we've had trouble before with deserialising months.
http://en.wikipedia.org/wiki/ISO_8601