major overhaul for 2.5.0beta2