use subprocess instead commands