add modes and other custom