get done
init adj
optimise
set add and remove