will be turned into an addon instead for more flexibility