added basic osx/linux support