Still not exactly what I want, but functional