rest of mouse functions implemented