add pattern move functionality