make project script more modular