this could be refactored into it's own method. The "draw_value" method is already pretty big.