working on canvas and delegates