Note: extension may not be finalized yet - subject to change! Note: implementation not fully suitable for h/w implementation yet.