add helpers & tests