partially working v2 version.