dependency to self