more improvements, search filter, move code out of js directory