should extend from object, or not?