organized tests and introduced react/promise