add bridge design pattern.