refactored checker interface