compilation works fine