Mostly working step 5