public -> internal