starting to add diagonal support