use actual_complete instead of overwrite complete in __init__