Refactor reference costructor