big split code to packages