some methods final