finished lst implementation