moved struct and macros into thier own files
added serializer files for later
Merge pull request #6 from dan-hill/refactor

Refactor