only runs one loop