things seems to work correctly, a little bit more efficient than last time it worked correctly