complicated to test: need to compile and link test functions, then load them (see #101)
complicated to test: need to compile and link test functions, then load them (see #101)