given reuse implemented