breaking a lot of stuff to reduce the overall file size