correctly implement qaohv