Mid way though large refactor to allow any directional slicing