something better and simpler than hton{l/s}