release target
misc restruct