improve: use fresh object to collect data