support readonly view, count, improved usability