bug with ^ fixed