rearranging the def order