add bluebird promises style, use annozip, begin adding 'post' methods