use API functions based on availability (from #228)
0.9.4