refactored docu final