split up interfaces add docs