add more compiler warnings & fix the new warnings