add more exception handling and update smoketest
better address handling