Need to do a step-by-step rebuilding of method 3