seperate LLH function