first attempt for MCL implementation