adding better doc generation