added the new functional