Added more shift controller code and tests