finished parts 1-3