defProjection method goes to factory