made lifecycle methods final