modify error message. add cause of the error
delegates assignment of data to parent class
fix #21