add FL_WEAK support