functional, but not quite pretty