start of general LCM distributed framework