A Java based simulation for the MIPS ISA