offloading functions to objects