First draft of Exchange.js