fix: handle empty expressions