add some util
update core classes