final version of Lab3