implement mouse picking, first commit