make the setup fully configurable.