add a function to make it callable in scheme