using canvas instead of css