Compile promise