implemented Reynolds