reorganized to be linuxu friendly