Added interface, class and test class