Basic filtering works. Needs to be expanded to cat-idiosyncratic filtering. Needs to be styled