method reuse and apply method