added a spec and document