add facade pattern