implements literally canvas with socket.io