diff --git a/bindings/fileTransfer.go b/bindings/fileTransfer.go
index 89394f4f1492a19d763765a95b40e43f97a9f0ea..9b8b1da61c12064bf2e5cbe4ff26bb7a0a99d792 100644
--- a/bindings/fileTransfer.go
+++ b/bindings/fileTransfer.go
@@ -86,9 +86,8 @@ type FileTransferReceiveProgressCallback interface {
 /* Main functions */
 
 // InitFileTransfer creates a bindings-level File Transfer manager
-// Accepts client ID, ReceiveFileCallback and a ReporterFunc
-func InitFileTransfer(e2eID int) (*FileTransfer, error) {
-	paramsJSON := GetDefaultFileTransferParams()
+// Accepts e2e client ID and marshalled params JSON
+func InitFileTransfer(e2eID int, paramsJSON []byte) (*FileTransfer, error) {
 
 	// Get bindings client from singleton
 	e2eCl, err := e2eTrackerSingleton.get(e2eID)
@@ -120,9 +119,15 @@ func InitFileTransfer(e2eID int) (*FileTransfer, error) {
 }
 
 // Send is the bindings-level function for sending a File
-func (f *FileTransfer) Send(payload, recipientID []byte, retry float32,
+// Accepts:
+//  FileSend JSON payload
+//  Marshalled recipient ID
+//  Marshalled e2e Params JSON
+//  Number of retries allowed
+//  Limit on duration between retries
+//  FileTransferSentProgressCallback interface
+func (f *FileTransfer) Send(payload, recipientID, paramsJSON []byte, retry float32,
 	period string, callback FileTransferSentProgressCallback) ([]byte, error) {
-	paramsJSON := GetDefaultE2EParams()
 	// Unmarshal recipient ID
 	recipient, err := id.Unmarshal(recipientID)
 	if err != nil {
@@ -196,6 +201,12 @@ func (f *FileTransfer) CloseSend(tidBytes []byte) error {
 
 /* Callback registration functions */
 
+// RegisterSentProgressCallback allows for the registration of a callback to
+// track the progress of an individual sent file transfer.
+// SentProgressCallback is auto registered on Send; this function should be
+// called when resuming clients or registering extra callbacks.
+// Accepts ID of the transfer, callback for transfer progress,
+// and period between retries
 func (f *FileTransfer) RegisterSentProgressCallback(tidBytes []byte,
 	callback FileTransferSentProgressCallback, period string) error {
 	cb := func(completed bool, arrived, total uint16,
@@ -218,6 +229,11 @@ func (f *FileTransfer) RegisterSentProgressCallback(tidBytes []byte,
 	return f.ft.RegisterSentProgressCallback(&tid, cb, p)
 }
 
+// RegisterReceivedProgressCallback allows for the registration of a
+// callback to track the progress of an individual received file transfer.
+// This should be done when a new transfer is received on the
+// ReceiveCallback.
+// Accepts ID of the transfer, callback for transfer progress and period between retries
 func (f *FileTransfer) RegisterReceivedProgressCallback(tidBytes []byte, callback FileTransferReceiveProgressCallback, period string) error {
 	cb := func(completed bool, received, total uint16,
 		rt fileTransfer.ReceivedTransfer, t fileTransfer.FilePartTracker, err error) {
diff --git a/bindings/restlikeSingle.go b/bindings/restlikeSingle.go
index cbe93325b50bc6cc4695c141451afba37d52a635..eb7d34beeb115d531015b4c06e026fe96b0e5d02 100644
--- a/bindings/restlikeSingle.go
+++ b/bindings/restlikeSingle.go
@@ -13,14 +13,10 @@ type RestlikeCallback interface {
 	Callback([]byte, error)
 }
 
-type RequestParams struct {
-}
-
 // RequestRestLike sends a restlike request to a given contact
-// Accepts marshalled contact object as recipient, byte slice payload & headers, method enum and a URI
+// Accepts marshalled contact object as recipient, marshalled RestlikeMessage and params JSON
 // Returns json marshalled restlike.Message & error
-func RequestRestLike(e2eID int, recipient, request []byte) ([]byte, error) {
-	paramsJSON := GetDefaultSingleUseParams()
+func RequestRestLike(e2eID int, recipient, request, paramsJSON []byte) ([]byte, error) {
 	c, err := e2eTrackerSingleton.get(e2eID)
 	if err != nil {
 		return nil, err
@@ -56,10 +52,11 @@ func RequestRestLike(e2eID int, recipient, request []byte) ([]byte, error) {
 }
 
 // AsyncRequestRestLike sends an asynchronous restlike request to a given contact
-// Accepts marshalled contact object as recipient, byte slice payload & headers, method enum, URI, and a RestlikeCallback
-// Returns an error, and the RestlikeCallback will be called with the results of json marshalling the response when received
-func AsyncRequestRestLike(e2eID int, recipient, request []byte, cb RestlikeCallback) error {
-	paramsJSON := GetDefaultSingleUseParams()
+// Accepts e2e client ID, marshalled contact object as recipient,
+// marshalled RestlikeMessage, marshalled Params json, and a RestlikeCallback
+// Returns an error, and the RestlikeCallback will be called with the results
+// of json marshalling the response when received
+func AsyncRequestRestLike(e2eID int, recipient, request, paramsJSON []byte, cb RestlikeCallback) error {
 	c, err := e2eTrackerSingleton.get(e2eID)
 	if err != nil {
 		return err
diff --git a/bindings/single.go b/bindings/single.go
index 4dcf51e95756a27c968d68e52cdc63cfbbd496f0..048edda8aa7b56fa9122740c1791986a05e2bb9f 100644
--- a/bindings/single.go
+++ b/bindings/single.go
@@ -11,10 +11,9 @@ import (
 
 /* PUBLIC WRAPPER METHODS */
 
-// TransmitSingleUse accepts a marshalled recipient contact object, tag, payload, SingleUseResponse callback func & a
+// TransmitSingleUse accepts a marshalled recipient contact object, tag, payload, params JSON, SingleUseResponse callback func & a
 // Client.  Transmits payload to recipient via single use
-func TransmitSingleUse(e2eID int, recipient []byte, tag string, payload []byte, responseCB SingleUseResponse) ([]byte, error) {
-	paramsJSON := GetDefaultSingleUseParams()
+func TransmitSingleUse(e2eID int, recipient []byte, tag string, payload, paramsJSON []byte, responseCB SingleUseResponse) ([]byte, error) {
 	e2eCl, err := e2eTrackerSingleton.get(e2eID)
 	if err != nil {
 		return nil, err