rebased and solved conflicts