contract MTokenTransfer {

    ////////////////////////
    // Internal functions
    ////////////////////////

    /// @dev This is the actual transfer function in the token contract, it can
    ///  only be called by other functions in this contract.
    /// @param from The address holding the tokens being transferred
    /// @param to The address of the recipient
    /// @param amount The amount of tokens to be transferred
    /// @dev  reverts if transfer was not successful
    function mTransfer(
        address from,
        address to,
        uint256 amount
    )
        internal;
}
/// @title internal token transfer function
/// @dev see BasicSnapshotToken for implementation
function mTransfer(
    address from,
    address to,
    uint256 amount
)
    internal;

////////////////////////
/// @dev This is the actual transfer function in the token contract, it can
///  only be called by other functions in this contract.
/// @param from The address holding the tokens being transferred
/// @param to The address of the recipient
/// @param amount The amount of tokens to be transferred
/// @dev  reverts if transfer was not successful