add KML_data class, change everything to work from memory