no longer bleeding threads but still inelegant