add abort task feature, closes #5