--	have better OO design