separate python wrapper functions