Add API doc

Fix #29