add dynamic button feature