Implemented Step 2, need to check if it works.