refactoring to see how fast this actually is