add some useful properties and  methods