improved semantic analysis. increased test-coverage and package-related refactoring