thanks to charlie swan