add functional_ll draft