added drag, mouse down and mouse release functionality but needs testing