improved make procedure