new implementation of LC