added multiple types and added back parent