more efficient pattern and source initialization
abstracted strip numbers