added projection checks