rename dirsan to fs
improved reactive filter to support async guards