refactor to 3 different canvas, about to figure about multiline