implemented dispose method as override.
update a few things.
added a new spec.