Massive rewrite of obj-power