added prototypal mouse stuff