support dynamic parameters