add mouse integration.

M