fixed all the warnings so far