added func ptr guidelines