1. Update class architecture
2. Add new class to implement ACMO interface