refactory; finish basic string filters; finish string cao