l1, l2, l3 boilerplates