add license header and class doc