type projection_; use null if undefined. do not redefine default