make this more architectural