functioning but buggy ui