added homo poly add and muti