Added documentation
Refactor to redraw when options change.