a lot of improvements
added a few things
Added a select number
Deleted the test things
added a default case
fixed up return 0