merging code written with/by Colin for MoneyNode