seperate chaining is functional