one layer at a time, with gridand shape control