TODO method invoke