Fix some bugs and improve Oracle (still another oracle method to write)