a bunch of changes

also, in the rest example, what is the "rest" package you're using? maybe you could extract it to actual go files so you can check everything compiles!