(incomplete) begin migration to programmatic solution