Projection refactored, using include and exclude properties