support dict parameter