diff --git a/src/main/java/org/jf/dexlib/AnnotationDirectoryItem.java b/dexlib/src/main/java/org/jf/dexlib/AnnotationDirectoryItem.java similarity index 100% rename from src/main/java/org/jf/dexlib/AnnotationDirectoryItem.java rename to dexlib/src/main/java/org/jf/dexlib/AnnotationDirectoryItem.java diff --git a/src/main/java/org/jf/dexlib/AnnotationItem.java b/dexlib/src/main/java/org/jf/dexlib/AnnotationItem.java similarity index 100% rename from src/main/java/org/jf/dexlib/AnnotationItem.java rename to dexlib/src/main/java/org/jf/dexlib/AnnotationItem.java diff --git a/src/main/java/org/jf/dexlib/AnnotationSetItem.java b/dexlib/src/main/java/org/jf/dexlib/AnnotationSetItem.java similarity index 100% rename from src/main/java/org/jf/dexlib/AnnotationSetItem.java rename to dexlib/src/main/java/org/jf/dexlib/AnnotationSetItem.java diff --git a/src/main/java/org/jf/dexlib/AnnotationSetRefList.java b/dexlib/src/main/java/org/jf/dexlib/AnnotationSetRefList.java similarity index 100% rename from src/main/java/org/jf/dexlib/AnnotationSetRefList.java rename to dexlib/src/main/java/org/jf/dexlib/AnnotationSetRefList.java diff --git a/src/main/java/org/jf/dexlib/AnnotationVisibility.java b/dexlib/src/main/java/org/jf/dexlib/AnnotationVisibility.java similarity index 100% rename from src/main/java/org/jf/dexlib/AnnotationVisibility.java rename to dexlib/src/main/java/org/jf/dexlib/AnnotationVisibility.java diff --git a/src/main/java/org/jf/dexlib/ByteField.java b/dexlib/src/main/java/org/jf/dexlib/ByteField.java similarity index 100% rename from src/main/java/org/jf/dexlib/ByteField.java rename to dexlib/src/main/java/org/jf/dexlib/ByteField.java diff --git a/src/main/java/org/jf/dexlib/CachedIntegerValueField.java b/dexlib/src/main/java/org/jf/dexlib/CachedIntegerValueField.java similarity index 100% rename from src/main/java/org/jf/dexlib/CachedIntegerValueField.java rename to dexlib/src/main/java/org/jf/dexlib/CachedIntegerValueField.java diff --git a/src/main/java/org/jf/dexlib/ClassDataItem.java b/dexlib/src/main/java/org/jf/dexlib/ClassDataItem.java similarity index 100% rename from src/main/java/org/jf/dexlib/ClassDataItem.java rename to dexlib/src/main/java/org/jf/dexlib/ClassDataItem.java diff --git a/src/main/java/org/jf/dexlib/ClassDefItem.java b/dexlib/src/main/java/org/jf/dexlib/ClassDefItem.java similarity index 100% rename from src/main/java/org/jf/dexlib/ClassDefItem.java rename to dexlib/src/main/java/org/jf/dexlib/ClassDefItem.java diff --git a/src/main/java/org/jf/dexlib/CodeItem.java b/dexlib/src/main/java/org/jf/dexlib/CodeItem.java similarity index 100% rename from src/main/java/org/jf/dexlib/CodeItem.java rename to dexlib/src/main/java/org/jf/dexlib/CodeItem.java diff --git a/src/main/java/org/jf/dexlib/CompositeField.java b/dexlib/src/main/java/org/jf/dexlib/CompositeField.java similarity index 100% rename from src/main/java/org/jf/dexlib/CompositeField.java rename to dexlib/src/main/java/org/jf/dexlib/CompositeField.java diff --git a/src/main/java/org/jf/dexlib/DebugInfoItem.java b/dexlib/src/main/java/org/jf/dexlib/DebugInfoItem.java similarity index 100% rename from src/main/java/org/jf/dexlib/DebugInfoItem.java rename to dexlib/src/main/java/org/jf/dexlib/DebugInfoItem.java diff --git a/src/main/java/org/jf/dexlib/DexFile.java b/dexlib/src/main/java/org/jf/dexlib/DexFile.java similarity index 100% rename from src/main/java/org/jf/dexlib/DexFile.java rename to dexlib/src/main/java/org/jf/dexlib/DexFile.java diff --git a/src/main/java/org/jf/dexlib/EncodedArrayItem.java b/dexlib/src/main/java/org/jf/dexlib/EncodedArrayItem.java similarity index 100% rename from src/main/java/org/jf/dexlib/EncodedArrayItem.java rename to dexlib/src/main/java/org/jf/dexlib/EncodedArrayItem.java diff --git a/src/main/java/org/jf/dexlib/EncodedValue/AnnotationElement.java b/dexlib/src/main/java/org/jf/dexlib/EncodedValue/AnnotationElement.java similarity index 100% rename from src/main/java/org/jf/dexlib/EncodedValue/AnnotationElement.java rename to dexlib/src/main/java/org/jf/dexlib/EncodedValue/AnnotationElement.java diff --git a/src/main/java/org/jf/dexlib/EncodedValue/AnnotationEncodedValueSubField.java b/dexlib/src/main/java/org/jf/dexlib/EncodedValue/AnnotationEncodedValueSubField.java similarity index 100% rename from src/main/java/org/jf/dexlib/EncodedValue/AnnotationEncodedValueSubField.java rename to dexlib/src/main/java/org/jf/dexlib/EncodedValue/AnnotationEncodedValueSubField.java diff --git a/src/main/java/org/jf/dexlib/EncodedValue/ArrayEncodedValueSubField.java b/dexlib/src/main/java/org/jf/dexlib/EncodedValue/ArrayEncodedValueSubField.java similarity index 100% rename from src/main/java/org/jf/dexlib/EncodedValue/ArrayEncodedValueSubField.java rename to dexlib/src/main/java/org/jf/dexlib/EncodedValue/ArrayEncodedValueSubField.java diff --git a/src/main/java/org/jf/dexlib/EncodedValue/BoolEncodedValueSubField.java b/dexlib/src/main/java/org/jf/dexlib/EncodedValue/BoolEncodedValueSubField.java similarity index 100% rename from src/main/java/org/jf/dexlib/EncodedValue/BoolEncodedValueSubField.java rename to dexlib/src/main/java/org/jf/dexlib/EncodedValue/BoolEncodedValueSubField.java diff --git a/src/main/java/org/jf/dexlib/EncodedValue/ByteEncodedValueSubField.java b/dexlib/src/main/java/org/jf/dexlib/EncodedValue/ByteEncodedValueSubField.java similarity index 100% rename from src/main/java/org/jf/dexlib/EncodedValue/ByteEncodedValueSubField.java rename to dexlib/src/main/java/org/jf/dexlib/EncodedValue/ByteEncodedValueSubField.java diff --git a/src/main/java/org/jf/dexlib/EncodedValue/CharEncodedValueSubField.java b/dexlib/src/main/java/org/jf/dexlib/EncodedValue/CharEncodedValueSubField.java similarity index 100% rename from src/main/java/org/jf/dexlib/EncodedValue/CharEncodedValueSubField.java rename to dexlib/src/main/java/org/jf/dexlib/EncodedValue/CharEncodedValueSubField.java diff --git a/src/main/java/org/jf/dexlib/EncodedValue/DoubleEncodedValueSubField.java b/dexlib/src/main/java/org/jf/dexlib/EncodedValue/DoubleEncodedValueSubField.java similarity index 100% rename from src/main/java/org/jf/dexlib/EncodedValue/DoubleEncodedValueSubField.java rename to dexlib/src/main/java/org/jf/dexlib/EncodedValue/DoubleEncodedValueSubField.java diff --git a/src/main/java/org/jf/dexlib/EncodedValue/EncodedIndexedItemReference.java b/dexlib/src/main/java/org/jf/dexlib/EncodedValue/EncodedIndexedItemReference.java similarity index 100% rename from src/main/java/org/jf/dexlib/EncodedValue/EncodedIndexedItemReference.java rename to dexlib/src/main/java/org/jf/dexlib/EncodedValue/EncodedIndexedItemReference.java diff --git a/src/main/java/org/jf/dexlib/EncodedValue/EncodedValue.java b/dexlib/src/main/java/org/jf/dexlib/EncodedValue/EncodedValue.java similarity index 100% rename from src/main/java/org/jf/dexlib/EncodedValue/EncodedValue.java rename to dexlib/src/main/java/org/jf/dexlib/EncodedValue/EncodedValue.java diff --git a/src/main/java/org/jf/dexlib/EncodedValue/EncodedValueSubField.java b/dexlib/src/main/java/org/jf/dexlib/EncodedValue/EncodedValueSubField.java similarity index 100% rename from src/main/java/org/jf/dexlib/EncodedValue/EncodedValueSubField.java rename to dexlib/src/main/java/org/jf/dexlib/EncodedValue/EncodedValueSubField.java diff --git a/src/main/java/org/jf/dexlib/EncodedValue/EncodedValueSubFieldFactory.java b/dexlib/src/main/java/org/jf/dexlib/EncodedValue/EncodedValueSubFieldFactory.java similarity index 100% rename from src/main/java/org/jf/dexlib/EncodedValue/EncodedValueSubFieldFactory.java rename to dexlib/src/main/java/org/jf/dexlib/EncodedValue/EncodedValueSubFieldFactory.java diff --git a/src/main/java/org/jf/dexlib/EncodedValue/FloatEncodedValueSubField.java b/dexlib/src/main/java/org/jf/dexlib/EncodedValue/FloatEncodedValueSubField.java similarity index 100% rename from src/main/java/org/jf/dexlib/EncodedValue/FloatEncodedValueSubField.java rename to dexlib/src/main/java/org/jf/dexlib/EncodedValue/FloatEncodedValueSubField.java diff --git a/src/main/java/org/jf/dexlib/EncodedValue/IntEncodedValueSubField.java b/dexlib/src/main/java/org/jf/dexlib/EncodedValue/IntEncodedValueSubField.java similarity index 100% rename from src/main/java/org/jf/dexlib/EncodedValue/IntEncodedValueSubField.java rename to dexlib/src/main/java/org/jf/dexlib/EncodedValue/IntEncodedValueSubField.java diff --git a/src/main/java/org/jf/dexlib/EncodedValue/LongEncodedValueSubField.java b/dexlib/src/main/java/org/jf/dexlib/EncodedValue/LongEncodedValueSubField.java similarity index 100% rename from src/main/java/org/jf/dexlib/EncodedValue/LongEncodedValueSubField.java rename to dexlib/src/main/java/org/jf/dexlib/EncodedValue/LongEncodedValueSubField.java diff --git a/src/main/java/org/jf/dexlib/EncodedValue/NullEncodedValueSubField.java b/dexlib/src/main/java/org/jf/dexlib/EncodedValue/NullEncodedValueSubField.java similarity index 100% rename from src/main/java/org/jf/dexlib/EncodedValue/NullEncodedValueSubField.java rename to dexlib/src/main/java/org/jf/dexlib/EncodedValue/NullEncodedValueSubField.java diff --git a/src/main/java/org/jf/dexlib/EncodedValue/ShortEncodedValueSubField.java b/dexlib/src/main/java/org/jf/dexlib/EncodedValue/ShortEncodedValueSubField.java similarity index 100% rename from src/main/java/org/jf/dexlib/EncodedValue/ShortEncodedValueSubField.java rename to dexlib/src/main/java/org/jf/dexlib/EncodedValue/ShortEncodedValueSubField.java diff --git a/src/main/java/org/jf/dexlib/EncodedValue/SimpleEncodedValueSubField.java b/dexlib/src/main/java/org/jf/dexlib/EncodedValue/SimpleEncodedValueSubField.java similarity index 100% rename from src/main/java/org/jf/dexlib/EncodedValue/SimpleEncodedValueSubField.java rename to dexlib/src/main/java/org/jf/dexlib/EncodedValue/SimpleEncodedValueSubField.java diff --git a/src/main/java/org/jf/dexlib/EncodedValue/ValueType.java b/dexlib/src/main/java/org/jf/dexlib/EncodedValue/ValueType.java similarity index 100% rename from src/main/java/org/jf/dexlib/EncodedValue/ValueType.java rename to dexlib/src/main/java/org/jf/dexlib/EncodedValue/ValueType.java diff --git a/src/main/java/org/jf/dexlib/Field.java b/dexlib/src/main/java/org/jf/dexlib/Field.java similarity index 100% rename from src/main/java/org/jf/dexlib/Field.java rename to dexlib/src/main/java/org/jf/dexlib/Field.java diff --git a/src/main/java/org/jf/dexlib/FieldIdItem.java b/dexlib/src/main/java/org/jf/dexlib/FieldIdItem.java similarity index 100% rename from src/main/java/org/jf/dexlib/FieldIdItem.java rename to dexlib/src/main/java/org/jf/dexlib/FieldIdItem.java diff --git a/src/main/java/org/jf/dexlib/FieldListField.java b/dexlib/src/main/java/org/jf/dexlib/FieldListField.java similarity index 100% rename from src/main/java/org/jf/dexlib/FieldListField.java rename to dexlib/src/main/java/org/jf/dexlib/FieldListField.java diff --git a/src/main/java/org/jf/dexlib/FixedByteArrayField.java b/dexlib/src/main/java/org/jf/dexlib/FixedByteArrayField.java similarity index 100% rename from src/main/java/org/jf/dexlib/FixedByteArrayField.java rename to dexlib/src/main/java/org/jf/dexlib/FixedByteArrayField.java diff --git a/src/main/java/org/jf/dexlib/HeaderItem.java b/dexlib/src/main/java/org/jf/dexlib/HeaderItem.java similarity index 100% rename from src/main/java/org/jf/dexlib/HeaderItem.java rename to dexlib/src/main/java/org/jf/dexlib/HeaderItem.java diff --git a/src/main/java/org/jf/dexlib/IndexedItem.java b/dexlib/src/main/java/org/jf/dexlib/IndexedItem.java similarity index 100% rename from src/main/java/org/jf/dexlib/IndexedItem.java rename to dexlib/src/main/java/org/jf/dexlib/IndexedItem.java diff --git a/src/main/java/org/jf/dexlib/IndexedItemReference.java b/dexlib/src/main/java/org/jf/dexlib/IndexedItemReference.java similarity index 100% rename from src/main/java/org/jf/dexlib/IndexedItemReference.java rename to dexlib/src/main/java/org/jf/dexlib/IndexedItemReference.java diff --git a/src/main/java/org/jf/dexlib/IndexedSection.java b/dexlib/src/main/java/org/jf/dexlib/IndexedSection.java similarity index 100% rename from src/main/java/org/jf/dexlib/IndexedSection.java rename to dexlib/src/main/java/org/jf/dexlib/IndexedSection.java diff --git a/src/main/java/org/jf/dexlib/IntegerField.java b/dexlib/src/main/java/org/jf/dexlib/IntegerField.java similarity index 100% rename from src/main/java/org/jf/dexlib/IntegerField.java rename to dexlib/src/main/java/org/jf/dexlib/IntegerField.java diff --git a/src/main/java/org/jf/dexlib/Item.java b/dexlib/src/main/java/org/jf/dexlib/Item.java similarity index 100% rename from src/main/java/org/jf/dexlib/Item.java rename to dexlib/src/main/java/org/jf/dexlib/Item.java diff --git a/src/main/java/org/jf/dexlib/ItemReference.java b/dexlib/src/main/java/org/jf/dexlib/ItemReference.java similarity index 100% rename from src/main/java/org/jf/dexlib/ItemReference.java rename to dexlib/src/main/java/org/jf/dexlib/ItemReference.java diff --git a/src/main/java/org/jf/dexlib/ItemType.java b/dexlib/src/main/java/org/jf/dexlib/ItemType.java similarity index 100% rename from src/main/java/org/jf/dexlib/ItemType.java rename to dexlib/src/main/java/org/jf/dexlib/ItemType.java diff --git a/src/main/java/org/jf/dexlib/Leb128Field.java b/dexlib/src/main/java/org/jf/dexlib/Leb128Field.java similarity index 100% rename from src/main/java/org/jf/dexlib/Leb128Field.java rename to dexlib/src/main/java/org/jf/dexlib/Leb128Field.java diff --git a/src/main/java/org/jf/dexlib/Leb128p1Field.java b/dexlib/src/main/java/org/jf/dexlib/Leb128p1Field.java similarity index 100% rename from src/main/java/org/jf/dexlib/Leb128p1Field.java rename to dexlib/src/main/java/org/jf/dexlib/Leb128p1Field.java diff --git a/src/main/java/org/jf/dexlib/ListSizeField.java b/dexlib/src/main/java/org/jf/dexlib/ListSizeField.java similarity index 100% rename from src/main/java/org/jf/dexlib/ListSizeField.java rename to dexlib/src/main/java/org/jf/dexlib/ListSizeField.java diff --git a/src/main/java/org/jf/dexlib/MapField.java b/dexlib/src/main/java/org/jf/dexlib/MapField.java similarity index 100% rename from src/main/java/org/jf/dexlib/MapField.java rename to dexlib/src/main/java/org/jf/dexlib/MapField.java diff --git a/src/main/java/org/jf/dexlib/MapItem.java b/dexlib/src/main/java/org/jf/dexlib/MapItem.java similarity index 100% rename from src/main/java/org/jf/dexlib/MapItem.java rename to dexlib/src/main/java/org/jf/dexlib/MapItem.java diff --git a/src/main/java/org/jf/dexlib/MethodIdItem.java b/dexlib/src/main/java/org/jf/dexlib/MethodIdItem.java similarity index 100% rename from src/main/java/org/jf/dexlib/MethodIdItem.java rename to dexlib/src/main/java/org/jf/dexlib/MethodIdItem.java diff --git a/src/main/java/org/jf/dexlib/NullTerminatedByteArrayField.java b/dexlib/src/main/java/org/jf/dexlib/NullTerminatedByteArrayField.java similarity index 100% rename from src/main/java/org/jf/dexlib/NullTerminatedByteArrayField.java rename to dexlib/src/main/java/org/jf/dexlib/NullTerminatedByteArrayField.java diff --git a/src/main/java/org/jf/dexlib/OffsettedItem.java b/dexlib/src/main/java/org/jf/dexlib/OffsettedItem.java similarity index 100% rename from src/main/java/org/jf/dexlib/OffsettedItem.java rename to dexlib/src/main/java/org/jf/dexlib/OffsettedItem.java diff --git a/src/main/java/org/jf/dexlib/OffsettedItemReference.java b/dexlib/src/main/java/org/jf/dexlib/OffsettedItemReference.java similarity index 100% rename from src/main/java/org/jf/dexlib/OffsettedItemReference.java rename to dexlib/src/main/java/org/jf/dexlib/OffsettedItemReference.java diff --git a/src/main/java/org/jf/dexlib/OffsettedSection.java b/dexlib/src/main/java/org/jf/dexlib/OffsettedSection.java similarity index 100% rename from src/main/java/org/jf/dexlib/OffsettedSection.java rename to dexlib/src/main/java/org/jf/dexlib/OffsettedSection.java diff --git a/src/main/java/org/jf/dexlib/ProtoIdItem.java b/dexlib/src/main/java/org/jf/dexlib/ProtoIdItem.java similarity index 100% rename from src/main/java/org/jf/dexlib/ProtoIdItem.java rename to dexlib/src/main/java/org/jf/dexlib/ProtoIdItem.java diff --git a/src/main/java/org/jf/dexlib/Section.java b/dexlib/src/main/java/org/jf/dexlib/Section.java similarity index 100% rename from src/main/java/org/jf/dexlib/Section.java rename to dexlib/src/main/java/org/jf/dexlib/Section.java diff --git a/src/main/java/org/jf/dexlib/SectionHeaderInfo.java b/dexlib/src/main/java/org/jf/dexlib/SectionHeaderInfo.java similarity index 100% rename from src/main/java/org/jf/dexlib/SectionHeaderInfo.java rename to dexlib/src/main/java/org/jf/dexlib/SectionHeaderInfo.java diff --git a/src/main/java/org/jf/dexlib/ShortIntegerField.java b/dexlib/src/main/java/org/jf/dexlib/ShortIntegerField.java similarity index 100% rename from src/main/java/org/jf/dexlib/ShortIntegerField.java rename to dexlib/src/main/java/org/jf/dexlib/ShortIntegerField.java diff --git a/src/main/java/org/jf/dexlib/SignedLeb128Field.java b/dexlib/src/main/java/org/jf/dexlib/SignedLeb128Field.java similarity index 100% rename from src/main/java/org/jf/dexlib/SignedLeb128Field.java rename to dexlib/src/main/java/org/jf/dexlib/SignedLeb128Field.java diff --git a/src/main/java/org/jf/dexlib/StringDataItem.java b/dexlib/src/main/java/org/jf/dexlib/StringDataItem.java similarity index 100% rename from src/main/java/org/jf/dexlib/StringDataItem.java rename to dexlib/src/main/java/org/jf/dexlib/StringDataItem.java diff --git a/src/main/java/org/jf/dexlib/StringIdItem.java b/dexlib/src/main/java/org/jf/dexlib/StringIdItem.java similarity index 100% rename from src/main/java/org/jf/dexlib/StringIdItem.java rename to dexlib/src/main/java/org/jf/dexlib/StringIdItem.java diff --git a/src/main/java/org/jf/dexlib/TypeIdItem.java b/dexlib/src/main/java/org/jf/dexlib/TypeIdItem.java similarity index 100% rename from src/main/java/org/jf/dexlib/TypeIdItem.java rename to dexlib/src/main/java/org/jf/dexlib/TypeIdItem.java diff --git a/src/main/java/org/jf/dexlib/TypeListItem.java b/dexlib/src/main/java/org/jf/dexlib/TypeListItem.java similarity index 100% rename from src/main/java/org/jf/dexlib/TypeListItem.java rename to dexlib/src/main/java/org/jf/dexlib/TypeListItem.java diff --git a/src/main/java/org/jf/dexlib/code/Format/ArrayDataPseudoInstruction.java b/dexlib/src/main/java/org/jf/dexlib/code/Format/ArrayDataPseudoInstruction.java similarity index 100% rename from src/main/java/org/jf/dexlib/code/Format/ArrayDataPseudoInstruction.java rename to dexlib/src/main/java/org/jf/dexlib/code/Format/ArrayDataPseudoInstruction.java diff --git a/src/main/java/org/jf/dexlib/code/Format/Format.java b/dexlib/src/main/java/org/jf/dexlib/code/Format/Format.java similarity index 100% rename from src/main/java/org/jf/dexlib/code/Format/Format.java rename to dexlib/src/main/java/org/jf/dexlib/code/Format/Format.java diff --git a/src/main/java/org/jf/dexlib/code/Format/Instruction10t.java b/dexlib/src/main/java/org/jf/dexlib/code/Format/Instruction10t.java similarity index 100% rename from src/main/java/org/jf/dexlib/code/Format/Instruction10t.java rename to dexlib/src/main/java/org/jf/dexlib/code/Format/Instruction10t.java diff --git a/src/main/java/org/jf/dexlib/code/Format/Instruction10x.java b/dexlib/src/main/java/org/jf/dexlib/code/Format/Instruction10x.java similarity index 100% rename from src/main/java/org/jf/dexlib/code/Format/Instruction10x.java rename to dexlib/src/main/java/org/jf/dexlib/code/Format/Instruction10x.java diff --git a/src/main/java/org/jf/dexlib/code/Format/Instruction11n.java b/dexlib/src/main/java/org/jf/dexlib/code/Format/Instruction11n.java similarity index 100% rename from src/main/java/org/jf/dexlib/code/Format/Instruction11n.java rename to dexlib/src/main/java/org/jf/dexlib/code/Format/Instruction11n.java diff --git a/src/main/java/org/jf/dexlib/code/Format/Instruction11x.java b/dexlib/src/main/java/org/jf/dexlib/code/Format/Instruction11x.java similarity index 100% rename from src/main/java/org/jf/dexlib/code/Format/Instruction11x.java rename to dexlib/src/main/java/org/jf/dexlib/code/Format/Instruction11x.java diff --git a/src/main/java/org/jf/dexlib/code/Format/Instruction12x.java b/dexlib/src/main/java/org/jf/dexlib/code/Format/Instruction12x.java similarity index 100% rename from src/main/java/org/jf/dexlib/code/Format/Instruction12x.java rename to dexlib/src/main/java/org/jf/dexlib/code/Format/Instruction12x.java diff --git a/src/main/java/org/jf/dexlib/code/Format/Instruction20t.java b/dexlib/src/main/java/org/jf/dexlib/code/Format/Instruction20t.java similarity index 100% rename from src/main/java/org/jf/dexlib/code/Format/Instruction20t.java rename to dexlib/src/main/java/org/jf/dexlib/code/Format/Instruction20t.java diff --git a/src/main/java/org/jf/dexlib/code/Format/Instruction21c.java b/dexlib/src/main/java/org/jf/dexlib/code/Format/Instruction21c.java similarity index 100% rename from src/main/java/org/jf/dexlib/code/Format/Instruction21c.java rename to dexlib/src/main/java/org/jf/dexlib/code/Format/Instruction21c.java diff --git a/src/main/java/org/jf/dexlib/code/Format/Instruction21h.java b/dexlib/src/main/java/org/jf/dexlib/code/Format/Instruction21h.java similarity index 100% rename from src/main/java/org/jf/dexlib/code/Format/Instruction21h.java rename to dexlib/src/main/java/org/jf/dexlib/code/Format/Instruction21h.java diff --git a/src/main/java/org/jf/dexlib/code/Format/Instruction21s.java b/dexlib/src/main/java/org/jf/dexlib/code/Format/Instruction21s.java similarity index 100% rename from src/main/java/org/jf/dexlib/code/Format/Instruction21s.java rename to dexlib/src/main/java/org/jf/dexlib/code/Format/Instruction21s.java diff --git a/src/main/java/org/jf/dexlib/code/Format/Instruction21t.java b/dexlib/src/main/java/org/jf/dexlib/code/Format/Instruction21t.java similarity index 100% rename from src/main/java/org/jf/dexlib/code/Format/Instruction21t.java rename to dexlib/src/main/java/org/jf/dexlib/code/Format/Instruction21t.java diff --git a/src/main/java/org/jf/dexlib/code/Format/Instruction22b.java b/dexlib/src/main/java/org/jf/dexlib/code/Format/Instruction22b.java similarity index 100% rename from src/main/java/org/jf/dexlib/code/Format/Instruction22b.java rename to dexlib/src/main/java/org/jf/dexlib/code/Format/Instruction22b.java diff --git a/src/main/java/org/jf/dexlib/code/Format/Instruction22c.java b/dexlib/src/main/java/org/jf/dexlib/code/Format/Instruction22c.java similarity index 100% rename from src/main/java/org/jf/dexlib/code/Format/Instruction22c.java rename to dexlib/src/main/java/org/jf/dexlib/code/Format/Instruction22c.java diff --git a/src/main/java/org/jf/dexlib/code/Format/Instruction22s.java b/dexlib/src/main/java/org/jf/dexlib/code/Format/Instruction22s.java similarity index 100% rename from src/main/java/org/jf/dexlib/code/Format/Instruction22s.java rename to dexlib/src/main/java/org/jf/dexlib/code/Format/Instruction22s.java diff --git a/src/main/java/org/jf/dexlib/code/Format/Instruction22t.java b/dexlib/src/main/java/org/jf/dexlib/code/Format/Instruction22t.java similarity index 100% rename from src/main/java/org/jf/dexlib/code/Format/Instruction22t.java rename to dexlib/src/main/java/org/jf/dexlib/code/Format/Instruction22t.java diff --git a/src/main/java/org/jf/dexlib/code/Format/Instruction22x.java b/dexlib/src/main/java/org/jf/dexlib/code/Format/Instruction22x.java similarity index 100% rename from src/main/java/org/jf/dexlib/code/Format/Instruction22x.java rename to dexlib/src/main/java/org/jf/dexlib/code/Format/Instruction22x.java diff --git a/src/main/java/org/jf/dexlib/code/Format/Instruction23x.java b/dexlib/src/main/java/org/jf/dexlib/code/Format/Instruction23x.java similarity index 100% rename from src/main/java/org/jf/dexlib/code/Format/Instruction23x.java rename to dexlib/src/main/java/org/jf/dexlib/code/Format/Instruction23x.java diff --git a/src/main/java/org/jf/dexlib/code/Format/Instruction30t.java b/dexlib/src/main/java/org/jf/dexlib/code/Format/Instruction30t.java similarity index 100% rename from src/main/java/org/jf/dexlib/code/Format/Instruction30t.java rename to dexlib/src/main/java/org/jf/dexlib/code/Format/Instruction30t.java diff --git a/src/main/java/org/jf/dexlib/code/Format/Instruction31c.java b/dexlib/src/main/java/org/jf/dexlib/code/Format/Instruction31c.java similarity index 100% rename from src/main/java/org/jf/dexlib/code/Format/Instruction31c.java rename to dexlib/src/main/java/org/jf/dexlib/code/Format/Instruction31c.java diff --git a/src/main/java/org/jf/dexlib/code/Format/Instruction31i.java b/dexlib/src/main/java/org/jf/dexlib/code/Format/Instruction31i.java similarity index 100% rename from src/main/java/org/jf/dexlib/code/Format/Instruction31i.java rename to dexlib/src/main/java/org/jf/dexlib/code/Format/Instruction31i.java diff --git a/src/main/java/org/jf/dexlib/code/Format/Instruction31t.java b/dexlib/src/main/java/org/jf/dexlib/code/Format/Instruction31t.java similarity index 100% rename from src/main/java/org/jf/dexlib/code/Format/Instruction31t.java rename to dexlib/src/main/java/org/jf/dexlib/code/Format/Instruction31t.java diff --git a/src/main/java/org/jf/dexlib/code/Format/Instruction32x.java b/dexlib/src/main/java/org/jf/dexlib/code/Format/Instruction32x.java similarity index 100% rename from src/main/java/org/jf/dexlib/code/Format/Instruction32x.java rename to dexlib/src/main/java/org/jf/dexlib/code/Format/Instruction32x.java diff --git a/src/main/java/org/jf/dexlib/code/Format/Instruction35c.java b/dexlib/src/main/java/org/jf/dexlib/code/Format/Instruction35c.java similarity index 100% rename from src/main/java/org/jf/dexlib/code/Format/Instruction35c.java rename to dexlib/src/main/java/org/jf/dexlib/code/Format/Instruction35c.java diff --git a/src/main/java/org/jf/dexlib/code/Format/Instruction3rc.java b/dexlib/src/main/java/org/jf/dexlib/code/Format/Instruction3rc.java similarity index 100% rename from src/main/java/org/jf/dexlib/code/Format/Instruction3rc.java rename to dexlib/src/main/java/org/jf/dexlib/code/Format/Instruction3rc.java diff --git a/src/main/java/org/jf/dexlib/code/Format/Instruction51l.java b/dexlib/src/main/java/org/jf/dexlib/code/Format/Instruction51l.java similarity index 100% rename from src/main/java/org/jf/dexlib/code/Format/Instruction51l.java rename to dexlib/src/main/java/org/jf/dexlib/code/Format/Instruction51l.java diff --git a/src/main/java/org/jf/dexlib/code/Format/PackedSwitchDataPseudoInstruction.java b/dexlib/src/main/java/org/jf/dexlib/code/Format/PackedSwitchDataPseudoInstruction.java similarity index 100% rename from src/main/java/org/jf/dexlib/code/Format/PackedSwitchDataPseudoInstruction.java rename to dexlib/src/main/java/org/jf/dexlib/code/Format/PackedSwitchDataPseudoInstruction.java diff --git a/src/main/java/org/jf/dexlib/code/Format/SparseSwitchDataPseudoInstruction.java b/dexlib/src/main/java/org/jf/dexlib/code/Format/SparseSwitchDataPseudoInstruction.java similarity index 100% rename from src/main/java/org/jf/dexlib/code/Format/SparseSwitchDataPseudoInstruction.java rename to dexlib/src/main/java/org/jf/dexlib/code/Format/SparseSwitchDataPseudoInstruction.java diff --git a/src/main/java/org/jf/dexlib/code/Instruction.java b/dexlib/src/main/java/org/jf/dexlib/code/Instruction.java similarity index 100% rename from src/main/java/org/jf/dexlib/code/Instruction.java rename to dexlib/src/main/java/org/jf/dexlib/code/Instruction.java diff --git a/src/main/java/org/jf/dexlib/code/InstructionField.java b/dexlib/src/main/java/org/jf/dexlib/code/InstructionField.java similarity index 100% rename from src/main/java/org/jf/dexlib/code/InstructionField.java rename to dexlib/src/main/java/org/jf/dexlib/code/InstructionField.java diff --git a/src/main/java/org/jf/dexlib/code/Opcode.java b/dexlib/src/main/java/org/jf/dexlib/code/Opcode.java similarity index 100% rename from src/main/java/org/jf/dexlib/code/Opcode.java rename to dexlib/src/main/java/org/jf/dexlib/code/Opcode.java diff --git a/src/main/java/org/jf/dexlib/code/ReferenceType.java b/dexlib/src/main/java/org/jf/dexlib/code/ReferenceType.java similarity index 100% rename from src/main/java/org/jf/dexlib/code/ReferenceType.java rename to dexlib/src/main/java/org/jf/dexlib/code/ReferenceType.java diff --git a/src/main/java/org/jf/dexlib/debug/AdvanceLine.java b/dexlib/src/main/java/org/jf/dexlib/debug/AdvanceLine.java similarity index 100% rename from src/main/java/org/jf/dexlib/debug/AdvanceLine.java rename to dexlib/src/main/java/org/jf/dexlib/debug/AdvanceLine.java diff --git a/src/main/java/org/jf/dexlib/debug/AdvancePC.java b/dexlib/src/main/java/org/jf/dexlib/debug/AdvancePC.java similarity index 100% rename from src/main/java/org/jf/dexlib/debug/AdvancePC.java rename to dexlib/src/main/java/org/jf/dexlib/debug/AdvancePC.java diff --git a/src/main/java/org/jf/dexlib/debug/DebugInstruction.java b/dexlib/src/main/java/org/jf/dexlib/debug/DebugInstruction.java similarity index 100% rename from src/main/java/org/jf/dexlib/debug/DebugInstruction.java rename to dexlib/src/main/java/org/jf/dexlib/debug/DebugInstruction.java diff --git a/src/main/java/org/jf/dexlib/debug/DebugInstructionFactory.java b/dexlib/src/main/java/org/jf/dexlib/debug/DebugInstructionFactory.java similarity index 100% rename from src/main/java/org/jf/dexlib/debug/DebugInstructionFactory.java rename to dexlib/src/main/java/org/jf/dexlib/debug/DebugInstructionFactory.java diff --git a/src/main/java/org/jf/dexlib/debug/EndLocal.java b/dexlib/src/main/java/org/jf/dexlib/debug/EndLocal.java similarity index 100% rename from src/main/java/org/jf/dexlib/debug/EndLocal.java rename to dexlib/src/main/java/org/jf/dexlib/debug/EndLocal.java diff --git a/src/main/java/org/jf/dexlib/debug/EndSequence.java b/dexlib/src/main/java/org/jf/dexlib/debug/EndSequence.java similarity index 100% rename from src/main/java/org/jf/dexlib/debug/EndSequence.java rename to dexlib/src/main/java/org/jf/dexlib/debug/EndSequence.java diff --git a/src/main/java/org/jf/dexlib/debug/RestartLocal.java b/dexlib/src/main/java/org/jf/dexlib/debug/RestartLocal.java similarity index 100% rename from src/main/java/org/jf/dexlib/debug/RestartLocal.java rename to dexlib/src/main/java/org/jf/dexlib/debug/RestartLocal.java diff --git a/src/main/java/org/jf/dexlib/debug/SetEpilogueBegin.java b/dexlib/src/main/java/org/jf/dexlib/debug/SetEpilogueBegin.java similarity index 100% rename from src/main/java/org/jf/dexlib/debug/SetEpilogueBegin.java rename to dexlib/src/main/java/org/jf/dexlib/debug/SetEpilogueBegin.java diff --git a/src/main/java/org/jf/dexlib/debug/SetFile.java b/dexlib/src/main/java/org/jf/dexlib/debug/SetFile.java similarity index 100% rename from src/main/java/org/jf/dexlib/debug/SetFile.java rename to dexlib/src/main/java/org/jf/dexlib/debug/SetFile.java diff --git a/src/main/java/org/jf/dexlib/debug/SetPrologueEnd.java b/dexlib/src/main/java/org/jf/dexlib/debug/SetPrologueEnd.java similarity index 100% rename from src/main/java/org/jf/dexlib/debug/SetPrologueEnd.java rename to dexlib/src/main/java/org/jf/dexlib/debug/SetPrologueEnd.java diff --git a/src/main/java/org/jf/dexlib/debug/SpecialOpcode.java b/dexlib/src/main/java/org/jf/dexlib/debug/SpecialOpcode.java similarity index 100% rename from src/main/java/org/jf/dexlib/debug/SpecialOpcode.java rename to dexlib/src/main/java/org/jf/dexlib/debug/SpecialOpcode.java diff --git a/src/main/java/org/jf/dexlib/debug/StartLocal.java b/dexlib/src/main/java/org/jf/dexlib/debug/StartLocal.java similarity index 100% rename from src/main/java/org/jf/dexlib/debug/StartLocal.java rename to dexlib/src/main/java/org/jf/dexlib/debug/StartLocal.java diff --git a/src/main/java/org/jf/dexlib/debug/StartLocalExtended.java b/dexlib/src/main/java/org/jf/dexlib/debug/StartLocalExtended.java similarity index 100% rename from src/main/java/org/jf/dexlib/debug/StartLocalExtended.java rename to dexlib/src/main/java/org/jf/dexlib/debug/StartLocalExtended.java diff --git a/src/main/java/org/jf/dexlib/util/AccessFlags.java b/dexlib/src/main/java/org/jf/dexlib/util/AccessFlags.java similarity index 100% rename from src/main/java/org/jf/dexlib/util/AccessFlags.java rename to dexlib/src/main/java/org/jf/dexlib/util/AccessFlags.java diff --git a/src/main/java/org/jf/dexlib/util/AnnotatedOutput.java b/dexlib/src/main/java/org/jf/dexlib/util/AnnotatedOutput.java similarity index 100% rename from src/main/java/org/jf/dexlib/util/AnnotatedOutput.java rename to dexlib/src/main/java/org/jf/dexlib/util/AnnotatedOutput.java diff --git a/src/main/java/org/jf/dexlib/util/ByteArray.java b/dexlib/src/main/java/org/jf/dexlib/util/ByteArray.java similarity index 100% rename from src/main/java/org/jf/dexlib/util/ByteArray.java rename to dexlib/src/main/java/org/jf/dexlib/util/ByteArray.java diff --git a/src/main/java/org/jf/dexlib/util/ByteArrayAnnotatedOutput.java b/dexlib/src/main/java/org/jf/dexlib/util/ByteArrayAnnotatedOutput.java similarity index 100% rename from src/main/java/org/jf/dexlib/util/ByteArrayAnnotatedOutput.java rename to dexlib/src/main/java/org/jf/dexlib/util/ByteArrayAnnotatedOutput.java diff --git a/src/main/java/org/jf/dexlib/util/ByteArrayInput.java b/dexlib/src/main/java/org/jf/dexlib/util/ByteArrayInput.java similarity index 100% rename from src/main/java/org/jf/dexlib/util/ByteArrayInput.java rename to dexlib/src/main/java/org/jf/dexlib/util/ByteArrayInput.java diff --git a/src/main/java/org/jf/dexlib/util/ByteArrayOutput.java b/dexlib/src/main/java/org/jf/dexlib/util/ByteArrayOutput.java similarity index 100% rename from src/main/java/org/jf/dexlib/util/ByteArrayOutput.java rename to dexlib/src/main/java/org/jf/dexlib/util/ByteArrayOutput.java diff --git a/src/main/java/org/jf/dexlib/util/DebugInfoBuilder.java b/dexlib/src/main/java/org/jf/dexlib/util/DebugInfoBuilder.java similarity index 100% rename from src/main/java/org/jf/dexlib/util/DebugInfoBuilder.java rename to dexlib/src/main/java/org/jf/dexlib/util/DebugInfoBuilder.java diff --git a/src/main/java/org/jf/dexlib/util/EncodedValueUtils.java b/dexlib/src/main/java/org/jf/dexlib/util/EncodedValueUtils.java similarity index 100% rename from src/main/java/org/jf/dexlib/util/EncodedValueUtils.java rename to dexlib/src/main/java/org/jf/dexlib/util/EncodedValueUtils.java diff --git a/src/main/java/org/jf/dexlib/util/ExceptionWithContext.java b/dexlib/src/main/java/org/jf/dexlib/util/ExceptionWithContext.java similarity index 100% rename from src/main/java/org/jf/dexlib/util/ExceptionWithContext.java rename to dexlib/src/main/java/org/jf/dexlib/util/ExceptionWithContext.java diff --git a/src/main/java/org/jf/dexlib/util/FileUtils.java b/dexlib/src/main/java/org/jf/dexlib/util/FileUtils.java similarity index 100% rename from src/main/java/org/jf/dexlib/util/FileUtils.java rename to dexlib/src/main/java/org/jf/dexlib/util/FileUtils.java diff --git a/src/main/java/org/jf/dexlib/util/Hex.java b/dexlib/src/main/java/org/jf/dexlib/util/Hex.java similarity index 100% rename from src/main/java/org/jf/dexlib/util/Hex.java rename to dexlib/src/main/java/org/jf/dexlib/util/Hex.java diff --git a/src/main/java/org/jf/dexlib/util/IndentingWriter.java b/dexlib/src/main/java/org/jf/dexlib/util/IndentingWriter.java similarity index 100% rename from src/main/java/org/jf/dexlib/util/IndentingWriter.java rename to dexlib/src/main/java/org/jf/dexlib/util/IndentingWriter.java diff --git a/src/main/java/org/jf/dexlib/util/Input.java b/dexlib/src/main/java/org/jf/dexlib/util/Input.java similarity index 100% rename from src/main/java/org/jf/dexlib/util/Input.java rename to dexlib/src/main/java/org/jf/dexlib/util/Input.java diff --git a/src/main/java/org/jf/dexlib/util/Leb128Utils.java b/dexlib/src/main/java/org/jf/dexlib/util/Leb128Utils.java similarity index 100% rename from src/main/java/org/jf/dexlib/util/Leb128Utils.java rename to dexlib/src/main/java/org/jf/dexlib/util/Leb128Utils.java diff --git a/src/main/java/org/jf/dexlib/util/NumberUtils.java b/dexlib/src/main/java/org/jf/dexlib/util/NumberUtils.java similarity index 100% rename from src/main/java/org/jf/dexlib/util/NumberUtils.java rename to dexlib/src/main/java/org/jf/dexlib/util/NumberUtils.java diff --git a/src/main/java/org/jf/dexlib/util/Output.java b/dexlib/src/main/java/org/jf/dexlib/util/Output.java similarity index 100% rename from src/main/java/org/jf/dexlib/util/Output.java rename to dexlib/src/main/java/org/jf/dexlib/util/Output.java diff --git a/src/main/java/org/jf/dexlib/util/Pair.java b/dexlib/src/main/java/org/jf/dexlib/util/Pair.java similarity index 100% rename from src/main/java/org/jf/dexlib/util/Pair.java rename to dexlib/src/main/java/org/jf/dexlib/util/Pair.java diff --git a/src/main/java/org/jf/dexlib/util/TryListBuilder.java b/dexlib/src/main/java/org/jf/dexlib/util/TryListBuilder.java similarity index 100% rename from src/main/java/org/jf/dexlib/util/TryListBuilder.java rename to dexlib/src/main/java/org/jf/dexlib/util/TryListBuilder.java diff --git a/src/main/java/org/jf/dexlib/util/TwoColumnOutput.java b/dexlib/src/main/java/org/jf/dexlib/util/TwoColumnOutput.java similarity index 100% rename from src/main/java/org/jf/dexlib/util/TwoColumnOutput.java rename to dexlib/src/main/java/org/jf/dexlib/util/TwoColumnOutput.java diff --git a/src/main/java/org/jf/dexlib/util/TypeUtils.java b/dexlib/src/main/java/org/jf/dexlib/util/TypeUtils.java similarity index 100% rename from src/main/java/org/jf/dexlib/util/TypeUtils.java rename to dexlib/src/main/java/org/jf/dexlib/util/TypeUtils.java diff --git a/src/main/java/org/jf/dexlib/util/Utf8Utils.java b/dexlib/src/main/java/org/jf/dexlib/util/Utf8Utils.java similarity index 100% rename from src/main/java/org/jf/dexlib/util/Utf8Utils.java rename to dexlib/src/main/java/org/jf/dexlib/util/Utf8Utils.java diff --git a/src/test/java/TryListBuilderTest.java b/dexlib/src/test/java/TryListBuilderTest.java similarity index 100% rename from src/test/java/TryListBuilderTest.java rename to dexlib/src/test/java/TryListBuilderTest.java diff --git a/pom.xml b/smali/pom.xml similarity index 100% rename from pom.xml rename to smali/pom.xml diff --git a/src/main/antlr3/org/jf/smali/smaliLexer.g b/smali/src/main/antlr3/org/jf/smali/smaliLexer.g similarity index 100% rename from src/main/antlr3/org/jf/smali/smaliLexer.g rename to smali/src/main/antlr3/org/jf/smali/smaliLexer.g diff --git a/src/main/antlr3/org/jf/smali/smaliParser.g b/smali/src/main/antlr3/org/jf/smali/smaliParser.g similarity index 100% rename from src/main/antlr3/org/jf/smali/smaliParser.g rename to smali/src/main/antlr3/org/jf/smali/smaliParser.g diff --git a/src/main/antlr3/org/jf/smali/smaliTreeWalker.g b/smali/src/main/antlr3/org/jf/smali/smaliTreeWalker.g similarity index 100% rename from src/main/antlr3/org/jf/smali/smaliTreeWalker.g rename to smali/src/main/antlr3/org/jf/smali/smaliTreeWalker.g diff --git a/src/main/java/org/jf/smali/SemanticException.java b/smali/src/main/java/org/jf/smali/SemanticException.java similarity index 100% rename from src/main/java/org/jf/smali/SemanticException.java rename to smali/src/main/java/org/jf/smali/SemanticException.java diff --git a/src/main/java/org/jf/smali/UsageException.java b/smali/src/main/java/org/jf/smali/UsageException.java similarity index 100% rename from src/main/java/org/jf/smali/UsageException.java rename to smali/src/main/java/org/jf/smali/UsageException.java diff --git a/src/main/java/org/jf/smali/literalTools.java b/smali/src/main/java/org/jf/smali/literalTools.java similarity index 100% rename from src/main/java/org/jf/smali/literalTools.java rename to smali/src/main/java/org/jf/smali/literalTools.java diff --git a/src/main/java/org/jf/smali/main.java b/smali/src/main/java/org/jf/smali/main.java similarity index 100% rename from src/main/java/org/jf/smali/main.java rename to smali/src/main/java/org/jf/smali/main.java diff --git a/src/main/java/org/jf/smali/smali.java b/smali/src/main/java/org/jf/smali/smali.java similarity index 100% rename from src/main/java/org/jf/smali/smali.java rename to smali/src/main/java/org/jf/smali/smali.java diff --git a/src/test/java/ByteLiteralTest.java b/smali/src/test/java/ByteLiteralTest.java similarity index 100% rename from src/test/java/ByteLiteralTest.java rename to smali/src/test/java/ByteLiteralTest.java diff --git a/src/test/java/IntLiteralTest.java b/smali/src/test/java/IntLiteralTest.java similarity index 100% rename from src/test/java/IntLiteralTest.java rename to smali/src/test/java/IntLiteralTest.java diff --git a/src/test/java/LongLiteralTest.java b/smali/src/test/java/LongLiteralTest.java similarity index 100% rename from src/test/java/LongLiteralTest.java rename to smali/src/test/java/LongLiteralTest.java diff --git a/src/test/java/ShortLiteralTest.java b/smali/src/test/java/ShortLiteralTest.java similarity index 100% rename from src/test/java/ShortLiteralTest.java rename to smali/src/test/java/ShortLiteralTest.java