more generic handling of new functions