fix bug & add oracle testing