updated to add interface