private members & priveleged methods