split crack.py into separate programs