Yes, I know it's messy. Later, I will split this code up into smaller sections for easier development. Map class coming soon.