updates LL structure to support multiple types of it