reorganize open source code