add other assign algo