added abort functions