more moving of requires into blocks