Simplified up and down functions. Removed ignoreInvert because it is counterintuitive to modularity