Revison starts after this commit. Restructuring classes.