Finishes step 5

Step 5 now functions. Though the code to realize it is temporary. Needs
big modification in Factory.java