use dict argument for backwards compatibility