reworked Effect.cs commit