adding success, error, timeout, and status code callbacks