adapter and facade patterns complete