define private columns
define init and repr