now functional, but still crappy