abstract effect