Added more javadoc and comments to Projection