First working draft with canvas element.