package and parameter refactor