functional req