added 'size()', 'isEmpty()' functions