refactoring freebsd provider + unit tests