refactor
conflicts resolved