broke out some configs and functions so it's easier to modularize