add function not read. not done