add interface for future implementation