refactor scopes.
finish scope handling and testing.
add forgotten classes.
Fix dependencies and logging.
add compiler-plugin version.