internalized some stuff to avoid collisions