better hargle bargle functions