This is a stub version. Committed all 'submodules', just to track them. Changed implementation to a behavioral approach, so check next commit (which is synthesizable)