to ease unit testing - it doesn't cost performance, or much memory anyway