ok optimized some more by skipping value checks as much possible