support backward code compatibility; add test code