added interfaces
refactored docu
merge