consolidated files, made things more modular