Combinatorial Group Theory by Benjamin Fine & Anthony Gaglione