some missing parts and fix problem