Incomplete push, going to have to rewrite runtime.