initial version that supports SET and FADE