Foundations of commutative rings and their modules. (2016)