added Interface definition