Added decodes and changed classes and package names to fit standards.