add dynamic assignment