add platform independent
fix backup filename