fixed self. functions