And now it even compiles under strict and warnings