Introduced some interfaces to redesign.