updated aaproach