extracted all nested classes to own files