Start adding docs and tests