added dict support