get rid of nasty eval()
refactor draw graph functions, sideways dragging