completed facade and decorator patterns