added canvas buffer