fix #12: provide vertical and horizontal blockop