parametrize over scope constructor