added documentations
documentation
always use :typespec
constructor -> constructor-alist, constructor-pattern = constructor