add docking functionality