fixing problems
better lazy implementation

removed unecessary eval-xxx-force.