similar to igor but written in java