changed to work with the VM
organised things a bit; added support for ruby
changed to work with the VM