allow passing a dict with projection params