refactoring en cours- be cleaner/faster