Issue #1, added success and error callbacks