change collect data to hash format, it can be more useful. test passed