tilecheck: split logics