Added DOM manipulation as an alternative to canvas