removed the self version