Roslyn demo implementation