abort function added