changing around how fns are invoked