added ambient loop