elaborated answer + resolved conflicts