We noticed our floor drain backing up, and I decided to call in professionals. Jeremy from Drainworks came out, did a camera inspection, located where the blockage was, and organized for the old breather and trap to be removed. He suspected tree roots were the cause, and indeed they were. Drainworks did a neat job, a thorough job, and also got all the paperwork in order for me to get a rebate from the city since the tree was on city property. There was no drama with Drainworks, which was great, and I can't thank Jeremy enough for his dedication to getting this problem fixed properly and permanently.