Refactor of Adapter Structure