complete function and non-function requirements