added more tests and categories. Still need to refactor for loops, also maybe refactor switch statements using Absract Factory - see Clean code book + example