View2: removed redundancy
View2: easy to read and access
View2: divided 'util' in two files