incomplete required function