#680 - finish features flags, use flags internally where appropriate