removed constaints on what is a data, so that users can provide these
constraints