add new functional requirments