rewriting absent; most basic functionality done