change aspects
compatibility fixes + refactoring