improved make all targets