refactor checks, add `above`, fixed #33