refactor, models, adapters