rewriting things for performance
completed things with the new system, let's see how it works