Refactored variable types into separate classes