added abort("message")