added tests for promise, some join implementations, bug fixes