api doc and contributing