small changes to approach. still needs testing