fixed grunt to jslint all js files in public, implemented promise, implemented comms bound to promises