add effect interface