avoid calling uname multiple times