type definitions, no methods yet