add dynamic & fix bugs