getting hard to maintain, needs reengineering instead of refactoring