implement adding part