added affiliate class and new interfaces - incomplete