[2014.12.24 #2] add mode enum