add some new features to do per OS builds, update ruby side to handle this