Algorithm Assignment draft 1