fixed recursive errors