making it machine independant