all warnings fixed