separate responsibility
fix class name
introduce choosing command