Added lots of variables and possible modes