struct's guard works now, fix translation errors