improved checker