better checking, less treat breaking