exception refactor

Change-Id: I53d9b9ef5eeaa6792e1f7ea2c75ba41bdc3307ec