fixed self calculation