variable sections refactored