added class uiImpl 
changed exception types from runtime to normal