added abort method and document stuff