all without interface