Adam refactor