Refactored, added DigitalOcean support