refactoring
fix things