add author and expose exceptions