major rework done, binary compatiability set (no long term promises though)