elided version func stuff