Adding high level documentation