Refactoring
Added interface
Added interface
Added interface