retrive function functing
crappy remove function
version 2
condition 2 meet on delete