workaround, wrap in a struct