direction [0, 8) stuff