add interface
Refactaring