initial commit
added some log output
added chaining support for then()