refactoring, commenting, etc...