refactor
refactor grains