doing all four steps separately