canvas demo with no library