suppressed warnings with -Wall