added linux support, untested