added packaged structure, TODO