implement splitToList