prepared switch case for refactoring