interface ~ implements