fixed algo 3