perform moves method