wraps base object constructor inside real constructor.. feels wrong, maybe right