my list implementation, node can be of different data type