refine; test for linux