removed 'abstract' from companion