self generated docs