horizontal checking implemented