reorganize Collector structure