Refactored the classes to use the modified adapter classes