inheritance saving not complete
save implemented not tested