refactor names and packages