support dynamic values