variables refactored