fully refactored to multiproject architecture