added lclc and da2ce7's changes