added ways to call dynamic functions