add scale and opacity funcs