* added all warnings and pedantic