add adapter Patterns