children dont need to define instance()