fixes for format/protocol property inheritance, api refactoring, updated documentation