Added serialization and the beginnings of reflections