rewrite Class Init