viewed solution 1
added templates
viewed solution 2
viewed solution 3
viewed solution 4
viewed solution 5