fix math mistake
add data and action protection to the Canvas
add Messages