Chaning design as stated in README. Still missing to rewrite Engine.java