Include client and server code, converted to JS from Coffee

Also, fix #1 and #2

Note: I haven't tested if the Usage code actually works