restructure for rest