slFile crossplatform wrapper first implementation