add Effect class& reconstruct some class