add support for linux and windows