Differential Algebraic Topology by Matthias Kreck