Listen gem

now use the listen gem for more robust performance