add tapply to apply-family