suma's interface implemented&working