written class and methods documentation except report() and deployment_scheme()