refactoring, add sub package physics