MA - Followed Andrew T's suggestions, still have minor errors