add: dynamic dock