Replaced most code wit methods and arguements