Copied over prev template here
Update
Working style, structure and modularity