cleaned up package structure