refactored to have all main variables be called from driver