changed "smart" approach