add more theory