- automatic interface implemented