refactor on linux