Doc strings. Strong refactoring.