fix inifite recursion when showing program object