not DRY but work: statistics