implement checkers