add oracle impl