#3 some more improvement