improve make structure