adding isfunction