added mouse func
merge