architectural changes to make dev easier