beginning hal serializer

DO NOT MERGE!