begin assignment 4