tidy package structure