merging from evildmp master