first thoughts for self documenting API