reorganize init