first pass at directional gradient