TODO decrease visibility