for requirement