defer instead of benchmark