added custom exception types
apns feedback implemented. untested due to the way apple feedback works on sandbox mode