optimize codes.