Handle optional args better
Document API