properly call subprocess