the using guards in checker seems nicer :)