new box projection function