Add type annotations, complete all tasks