add oracle functions