still working out architecture--many changes