Changed Structure; added compiled version