fixed kept promise implementation
more tests for successful and failed functional futures