Make it modular and stuff