changed canvas to have permanant buffer. some things are working better others are not