Continued on adopting new style to further seperate the code