renamed internal class, added finals