Pact 2.0
By @Cindy