works on all but root case