make cycle more friendly to json serialization