diff --git a/impls/src/test_framework/mod.rs b/impls/src/test_framework/mod.rs
index b08964ce..4dd921b2 100644
--- a/impls/src/test_framework/mod.rs
+++ b/impls/src/test_framework/mod.rs
@@ -40,9 +40,10 @@ fn get_output_local(chain: &chain::Chain, commit: pedersen::Commitment) -> Optio
 	if chain.get_unspent(commit).unwrap().is_some() {
 		let block_height = chain.get_header_for_output(commit).unwrap().height;
 		let output_pos = chain.get_output_pos(&commit).unwrap_or(0);
-		return Some(api::Output::new(&commit, block_height, output_pos));
+		Some(api::Output::new(&commit, block_height, output_pos))
+	} else {
+		None
 	}
-	None
 }
 
 /// Get a kernel from the chain locally
diff --git a/libwallet/src/internal/tx.rs b/libwallet/src/internal/tx.rs
index ba3a64dc..f4c1f645 100644
--- a/libwallet/src/internal/tx.rs
+++ b/libwallet/src/internal/tx.rs
@@ -616,7 +616,7 @@ mod test {
 		.unwrap();
 
 		let inputs: Vec<Input> = tx2.inputs().into();
-		assert_eq!(tx1.outputs()[0].features, inputs[0].features);
+		assert_eq!(tx1.outputs()[0].features(), inputs[0].features);
 		assert_eq!(tx1.outputs()[0].commitment(), inputs[0].commitment());
 	}
 
diff --git a/libwallet/src/slate.rs b/libwallet/src/slate.rs
index e8cc3b7c..222748f2 100644
--- a/libwallet/src/slate.rs
+++ b/libwallet/src/slate.rs
@@ -839,8 +839,8 @@ impl From<&Slate> for Option<Vec<CommitsV4>> {
 		}
 		for o in outs.iter() {
 			ret_vec.push(CommitsV4 {
-				f: o.features.into(),
-				c: o.commit,
+				f: o.features().into(),
+				c: o.commitment(),
 				p: Some(o.proof),
 			});
 		}
@@ -1020,14 +1020,8 @@ pub fn tx_from_slate_v4(slate: &SlateV4) -> Option<Transaction> {
 	let mut tx = Transaction::empty().with_kernel(kernel);
 
 	for c in coms.iter() {
-		match &c.p {
-			Some(p) => {
-				tx = tx.with_output(Output {
-					features: c.f.into(),
-					commit: c.c,
-					proof: p.clone(),
-				})
-			}
+		match c.p {
+			Some(p) => tx = tx.with_output(Output::new(c.f.into(), c.c, p)),
 			None => {
 				tx = tx.with_input(Input {
 					features: c.f.into(),
@@ -1036,7 +1030,7 @@ pub fn tx_from_slate_v4(slate: &SlateV4) -> Option<Transaction> {
 			}
 		}
 	}
-	tx.offset = slate.off.clone();
+	tx = tx.with_offset(slate.off.clone());
 	Some(tx)
 }
 
diff --git a/libwallet/src/slate_versions/v4.rs b/libwallet/src/slate_versions/v4.rs
index 2564547d..bfcffc93 100644
--- a/libwallet/src/slate_versions/v4.rs
+++ b/libwallet/src/slate_versions/v4.rs
@@ -316,8 +316,8 @@ impl From<&Output> for CbOutputV4 {
 	fn from(output: &Output) -> CbOutputV4 {
 		CbOutputV4 {
 			features: CbOutputFeatures::Coinbase,
-			commit: output.commit,
-			proof: output.proof,
+			commit: output.commitment(),
+			proof: output.proof(),
 		}
 	}
 }