will now throw with stack if no function is passed