all warnings taken care of