properly document API, improve setup documentation