refactored everything, added Cloud.cs