general package structure