added pulay terms..correct forces
some optimiazations in E