make public for reuse