added first round trip
refactored to remove extra calls for signing