these requirements can be applied universally