implement FSBuilder with unit tests