algorithms assign 2