Fixed a bug: self not defined; Added a feature of desired name.