add aeson constraint