Add serialization, add hierarchy