adding a functional