auto boundary + nn