added assignment 3 first working version, needs polishing