A complete version of hw3