Reformat source
Rewrite the select option.

Broke up the select functions