Add explanations, make required changes and fix regex I broke.