fixed linux compatibility issues