list implementation, not yet working