change to_string() method to override char()

* make unit property dependent and add set method that returns error