features almost completed, only third type of replace strings needs to be added.