Refactor | Bill and Beverly | add commands polymorphism