worked on some linux compatability issues