added variational