compiles without warnings