refined data/3
implemented generator