add dynamic resolver