camelCase to under_score,  refactoring, using properties instead of direct data structure access