Finshed add, sub (remind of old basic knowledge)