restructure to use 0.3 style