changes entire project architecture.