more tests, more support for promises