reorganize package structure