closes #7, makes #5 ready (spec)