fix to self types