starting lab2 code
refactorization
refactorization part2
refactorization part2
refactorization part3
refactorization part4