get rid of circular dependencies to prepare for serialization