Clean Up Switch Statement, Still needs Testing