list implementation complete!