fix and add a few more Tests, properly handle whether return is a function call