minor refactor
rewrote IAP error message
IAP implemented