add perculator module. Multi threading still needs fixing