split common into 3 modules common, canvas, and events