functional, if not pretty