Lab 3 refactored, added comments.