modified form submission to return promise