Optimize + refactor a few things
minor debugging feature
Add explanation
Add agreer lists