improved igender method