insert and check should be in a good place