seems like this should be a private slot