Jump to content

Recommended Posts

Posted · Complete Hot-end and Print Head Redesign

Hey guys,

It's been a while coming, but I got a bunch of my upgrades put into place. I've been working on the hot end for a while now, wanting a shorter melt zone with a very quick transition below the glass transition temp of the plastic. No PEEK, PTFE, etc. Stainless steel up-tube, custom heat sink, integrated ducting, active cooling. MoonCactus' XY blocks.

Bare print head weighs 48g, compared to 78g for stock.

 

Each XY block drops from 20g to 9g.

74g total weight decrease! 47% reduction to the moving mass.

http://umforum.ultimaker.com/index.php?/gallery/slideshow/album-113/

 

  • Link to post
    Share on other sites

    Posted · Complete Hot-end and Print Head Redesign

    Looks really awesome, Lars.

    One thought... by minimizing the melt zone, what does that do to your ability to print quickly - i.e., at high volume per second. In my testing with a 0.65mm nozzle, the speed at which I could print seemed to me limited by the ability to melt the plastic before it got to the hot end.

    For instance, trying to print at 30mm³/sec means advancing the raw filament into and through the print head at roughly 5mm per second. I seemed to be running into a problem that the standard head couldn't reliably melt the filament in the time it took to go from entering the hot zone to exiting the nozzle, due to the time it takes to conduct the heat into the filament.

    Minimizing the hot zone would presumably give even less time between when you start heating the filament, and when it gets extruded. As such, I suspect that the peak throughput of the nozzle may be reduced somewhat. How does it behave in practice?

     

  • Link to post
    Share on other sites

    Posted · Complete Hot-end and Print Head Redesign

    Also, not to hijack the thread, but I'd be interested to hear your experiences (and anyone else's) experience with Jeremie's blocks, as I'm considering installing those when I take everything apart to install the new pulleys.

     

  • Link to post
    Share on other sites

    Posted · Complete Hot-end and Print Head Redesign

    Looks really awesome, Lars.

    One thought... by minimizing the melt zone, what does that do to your ability to print quickly - i.e., at high volume per second. In my testing with a 0.65mm nozzle, the speed at which I could print seemed to me limited by the ability to melt the plastic before it got to the hot end.

    For instance, trying to print at 30mm³/sec means advancing the raw filament into and through the print head at roughly 5mm per second. I seemed to be running into a problem that the standard head couldn't reliably melt the filament in the time it took to go from entering the hot zone to exiting the nozzle, due to the time it takes to conduct the heat into the filament.

    Minimizing the hot zone would presumably give even less time between when you start heating the filament, and when it gets extruded. As such, I suspect that the peak throughput of the nozzle may be reduced somewhat. How does it behave in practice?

    Good question! That remains to be seen. I only did a couple prints last night after the rebuild.

    I printed this nautilus gear set at 80mm/s, 200mm/s rapids, 1.5mm retract, 194*, 0.1mm layers without any issues at all. Really nice print quality. I haven't calculated the volumetric flow rate though.

    What geometry are you using for volumetric flow? The circular cross section of the filament * extrusion speed, or the rectangular cross section of the printed bead times travel speed?

    How can you tell the difference between not having enough time to melt, and the intrinsically higher nozzle pressure to flow faster through a given nozzle orifice?

    The XY blocks are pretty decent. Snowygrouch keyed me into one issue though: it's very easy to over-clamp the bronze bushings and generate a lot of friction. I am running the outboard (of the 3) clamping bolts totally loose right now. Also, the arm which trips the Y (front) limit switch isn't quite big enough. I hogged out the limit switch slots another 1/8" inch to adjust for that. I'll probably whip up my own design soon, since the 2-piece setup is far easier to change out. I think the ideal would be to have a spherical bearing surrounding that bushing, and the block housing that. It would prevent slight belt pair misalignment from inducing bind in the bushing. The system is over-constrained right now.

     

  • Link to post
    Share on other sites

    Posted · Complete Hot-end and Print Head Redesign

    I printed this nautilus gear set at 80mm/s, 200mm/s rapids, 1.5mm retract, 194*, 0.1mm layers without any issues at all. Really nice print quality. I haven't calculated the volumetric flow rate though.

    Congrats, the redesign looks great, I am considering printing it (together with the XY blocks, and replacing my old 8mm XZ gantry/linear bearings with the current 5mm version, so shave another 100+ grams off the moving mass)

    if you don't mind, here are some design comments:

    1. I would move the fan assembly for the cooling fins more upwards, to get more clearance to the print (important for beginners with upwards bending prints that may snag the fan)

    2. thinner fan for the cooling fins (easy, you probably just used what you had in your supply drawer)

    3. make the print cooling fan mount compatible with existing cooling fan mounts, so users can easily swap them to their taste

    4. consider making the fin-cooling fan assembly modular as well: users could print their own versions and decide if they want to devote less air for the fin-cooling, and use some air instead for object cooling (for i.e. 2-sided print cooling)

    5. consider removing 5-10 mm under the lower linear bearing: the "platform" can be much closer to the bearing, giving you 10mm more print space in Z

    Bonus option:

    1. make a print head with 2 heaters/nozzles, but only 1 cooling fins segment

    great job, I would like to see some higher throughput tests, as illuminarti suggested. 80mm/s * 0.4mm * 0.1mm = 3.2mm^3/sec is hardly a significant throughput, basically only 15% what I can push through my 0.56mm nozzle, or 10% of illuminarti's 0.65mm nozzle. you should test your setup towards the 10-15mm^3/sec barrier, which is considered the max for a standard UM setup. flat solid infill is a good test (i.e. 150mm diameter solid cylinder, 0.15mm layers 0.4mm nozzle and 250mm/sec print speed)

     

  • Link to post
    Share on other sites

    Posted · Complete Hot-end and Print Head Redesign

    Congrats, the redesign looks great, I am considering printing it (together with the XY blocks, and replacing my old 8mm XZ gantry/linear bearings with the current 5mm version, so shave another 100+ grams off the moving mass)

    if you don't mind, here are some design comments:

    1. I would move the fan assembly for the cooling fins more upwards, to get more clearance to the print (important for beginners with upwards bending prints that may snag the fan)

    2. thinner fan for the cooling fins (easy, you probably just used what you had in your supply drawer)

    3. make the print cooling fan mount compatible with existing cooling fan mounts, so users can easily swap them to their taste

    4. consider making the fin-cooling fan assembly modular as well: users could print their own versions and decide if they want to devote less air for the fin-cooling, and use some air instead for object cooling (for i.e. 2-sided print cooling)

    5. consider removing 5-10 mm under the lower linear bearing: the "platform" can be much closer to the bearing, giving you 10mm more print space in Z

    Bonus option:

    1. make a print head with 2 heaters/nozzles, but only 1 cooling fins segment

    great job, I would like to see some higher throughput tests, as illuminarti suggested. 80mm/s * 0.4mm * 0.1mm = 3.2mm^3/sec is hardly a significant throughput, basically only 15% what I can push through my 0.56mm nozzle, or 10% of illuminarti's 0.65mm nozzle. you should test your setup towards the 10-15mm^3/sec barrier, which is considered the max for a standard UM setup. flat solid infill is a good test (i.e. 150mm diameter solid cylinder, 0.15mm layers 0.4mm nozzle and 250mm/sec print speed)

    1) Replacing the entire print head is not a beginners task, so compromising design aspects to fool-proof it doesn't really interest me. There is already ~4mm of clearance there, so if you managed to hit that, you are doing it wrong!

    2) I have a 40x10 fan to try as well, but it has a 3-pin connnector, so this 40x20 was the plug and play option. The spare 3 pin connector on the UM print head is for a second fan, correct? It and my other fans are both male connectors for some reason.

    3) It wouldn't be terribly hard to have mounts for 50mm fans as well, but I just feel that 40mm fans are cheap enough and package well.

    4) It might be tricky to make the integrated duct modular. Getting a nice clean, thin walled, lofted surface there took some time. I don't really think this particular fan pushes enough air to afford that option. I have a couple others to test though. I would love a single fan, powerful enough to push air through the heat sink, then on to the print. But then you would lose control of when you want print cooling, since the up-tube fan should always be running.

    5) If you tried to raise the platform height, you would give up quite a bit of XY travel (much more important I think). This design is meant to heave 1mm of clearance to the bottom of the stock XY blocks. The Mooncactus blocks only give you another 1.5mm or so. Even with the added length in the up-tube/heatsink assembly, I only gave up maybe 5mm of Z height.

    That nautilus print wasn't meant to be a throughput test by any means. I'll try and see. For anything besides big, wide open infill, I don't see how you could even approach those print speeds without giving up a lot of quality. When the perimeter has complex geometry and overhangs, rushing doesn't seem to work well.

     

  • Link to post
    Share on other sites

    Posted · Complete Hot-end and Print Head Redesign

    I did a throughput test at 250mm/s, 0.15mm layers, 220*, 0.4mm nozzle. No issues to speak of. Except that the motion quality of the circular perimeter passes is terrible. Sliced with Cura 13.06.3. I'm not sure if it's an issue with Cura or the UM. I tried all different combintations of XY jerk/accel, and could tune the infill for decent motion, but perimeters are junk.

     

  • Link to post
    Share on other sites

    Posted · Complete Hot-end and Print Head Redesign

    yes, faster outer loops will create garbage outer surfaces, while solid infill and inner loops are fine at high speed... one of the reasons why I haven't used cura the last year. I would try to push the extrusion even harder (i.e. 0.2mm layers), to see when the infill starts becoming not perfect anymore (usually 15mm^3/sec for the standard setup). it would be awesome to see what the max is for your setup (20mm^3/sec?)

    and thank you for the explanation for the clearance, I had not thought about the sliding block clearance.

     

  • Link to post
    Share on other sites

    Posted · Complete Hot-end and Print Head Redesign

    I generally consider extrusion volume in terms of bead width x layer height x linear speed. But that should be identical to the requested filament speed x filament diameter. My testing has shown that in practice the delivered speed is rather lower than requested speed due to head pressure causing filament slippage in the extruder. I find I get 5% - 15% underextrusion as you request higher speeds, until the filament strips totally.

    I havent quantified the difference between melt time and nozzle pressure in any scientific way, but it's pretty easy to see it in practice. If you lower the bed, and heat the head to say 230ºC and let it sit for a few minutes, and then begin to turn the extruder gear by hand. You'll see that at first the (thoroughly heated) plastic runs out quite easily and then as fresh unheated plastic moves into the melt chamber, the rate of extrusion slows dramatically, and the pressure goes up, and the texture of the plastic extrusion changes to become much thicker and viscous. I take it that this is because the plastic isn't actually able to reach the target temperature in time before it is extruded.

     

  • Link to post
    Share on other sites

    Posted · Complete Hot-end and Print Head Redesign

    For comparison: Standard setup with direct drive (and new pulleys). But I guess, the colorfabb filament affects the result because it extrudes considerably better. The surface looks quite good up to 300mm/s

     

     

  • Link to post
    Share on other sites

    Posted · Complete Hot-end and Print Head Redesign

    I guess that I just don't see the reason to print that fast. I'd rather slow it down and print strong, reliable, good looking parts. The circular motion sound terrible, and it burdens almost every part of the system (drivers, steppers, belts, bearings, fans, etc.)

     

  • Link to post
    Share on other sites

    Posted · Complete Hot-end and Print Head Redesign

    Yes, but why not aim to print fast, and create strong, reliable, good looking parts?

    That was why I asked you a long time ago, when you first started your hot-end redesign project, what the real-world problems were that you were trying to overcome. It remains to be seen how things turn out in practice as you test more, but it may well be that by minimizing the heated area in the head, you have perhaps solved the (for me) almost-non-existent clogging problem, at the expense of even lower sustainable print speeds.

     

    I guess that I just don't see the reason to print that fast. I'd rather slow it down and print strong, reliable, good looking parts. The circular motion sound terrible, and it burdens almost every part of the system (drivers, steppers, belts, bearings, fans, etc.)

     

  • Link to post
    Share on other sites

    Posted · Complete Hot-end and Print Head Redesign

    ...but it may well be that by minimizing the heated area in the head, you have perhaps solved the (for me) almost-non-existent clogging problem, at the expense of even lower sustainable print speeds.

     

    Couldn't it also work just as well to have a short melt zone, powerful heating capability, and intelligent software with a very rapid response to temperature fluctuations and flow rate? Thermal mass as a melt buffer is surely a good solution, but for absolute max performance it seems like a more responsive system could be beneficial. Not saying that this solution provides that, but it could possibly get close by using a higher than normal temp.

    I guess in the situation you're describing, though, the biggest problem is the thermal mass of the heater block creates a lag time between the filament chamber being cooled, the thermocouple detecting that temperature drop, and the heater counteracting it. Short of intelligent software that predicted that temperature drop before it happened based on anticipated extrusion rates, maybe the solution here is more immediate temperature sensing of the filament?

    Though if max throughput is the goal, maybe thinner filament is a simpler solution that would have a more powerful effect than any of this.

     

  • Link to post
    Share on other sites

    Posted · Complete Hot-end and Print Head Redesign

    Yes, but why not aim to print fast, and create strong, reliable, good looking parts?

    That was why I asked you a long time ago, when you first started your hot-end redesign project, what the real-world problems were that you were trying to overcome. It remains to be seen how things turn out in practice as you test more, but it may well be that by minimizing the heated area in the head, you have perhaps solved the (for me) almost-non-existent clogging problem, at the expense of even lower sustainable print speeds.

     

    I am with you. When I was studying we had type wheel printers and dot matrix printers. When ink jet came up, no one thought of printing photos. It was a pain: bad quality and it took ages. And today ...

    Every time I see those 3D printer ads, proudly presenting parts almost as big as the printer I would like to add a subtitle: "Only took 3 days and 9 hours to print." And if you discover some flaws in your part ...

    But in the 2D analogy our printers are plotters and plotters never made it to mass market. The key to speed for reasonable price was parallelization. So we may be sitting on a evolutionary side branch here ;-)

     

  • Link to post
    Share on other sites

    Posted · Complete Hot-end and Print Head Redesign

    Looks good, I think the idea about spherical bearings on the ends of the XY rods in the blocks is a very good idea.

    Only difficulty could be the tolerance, if they were even a bit rattley it would be a disaster. But in principle its

    a very good idea I think.

    I dont think there is much hope to control the heat actively, as unless you make some sort of really custom coaxial

    heater unit the distribution will be awful, and heatflux will never be high enough to change fast enough, so really you just need a block there as thermal mass. However, just because you want some mass there doesnt mean it has to be a tall block....a thin one will work fine too - to keep the short melt zone.

    I have done a re-design of the mooncactus blocks, but I think that now I need to do a "rev_2" with spherical bearings for the XY rods...I have also had some resonance problems with the mooncactus blocks. Some of which was due to

    one end of the 6mm steel rod being shoved directly up against the bronze bush, some of which was due to all the

    bolts being loose (as otherwise it totally locks up the bushes onto the 8mm rods). We will see if it dissapears

    completely with a new block design and fully tightened bolts (or even perhaps just no bolts !).

    Joergen, what is the specific link for you between Cura and the bad perimeters ? With which slicer have you

    found it to be better ?

    C.

     

     

  • Link to post
    Share on other sites

    Posted · Complete Hot-end and Print Head Redesign

    Looks pretty good. But, how is the retraction working? So far all "all-metal" hotends have failed our retraction-hell test, and blocking up after a few hours.

     

  • Link to post
    Share on other sites

    Posted · Complete Hot-end and Print Head Redesign

    Yes, but why not aim to print fast, and create strong, reliable, good looking parts?

    That was why I asked you a long time ago, when you first started your hot-end redesign project, what the real-world problems were that you were trying to overcome. It remains to be seen how things turn out in practice as you test more, but it may well be that by minimizing the heated area in the head, you have perhaps solved the (for me) almost-non-existent clogging problem, at the expense of even lower sustainable print speeds.

     

    I just don't follow your logic here. I ran up against terrible motion (and therefor print) quality far before I saw any evidence of max extrusion rate. Correct me if I'm wrong, but that seems to be the general trend and limiting factor.

    Sure, you can increase the heater temperature and the filament time in the hot zone, so that it is runny, and you can push it out faster. But, now you've lost good control over extrusion; causing bridging, overhangs, and retraction to all go to crap. If you really want faster print speeds, while actually maintaining quality, I would focus on the filament drive system, not the hot end. The fact is, it will take more force to extrude at high speeds. Switching the extruder drive gear to something like the Makerbot for less slippage, and mounting the drive above the UM with a very short bowden, would be big improvements in that area.

    What improvements have I made? I have shed a good amount of weight from the moving assembly, which allows faster movement, while maintaining quality. I have integrated an up-tube cooling system which allows a shorter hot zone, greater control over temperature, less oozing, more precise extrusion, and higher temperatures (for ABS). Those naultilus gears were printed with only 1.5mm of retraction and no signs of stringing. That means I'm beating up the filament far less, and can still test out less retraction. My nozzle is now mounted in a more stable position (vs a directly heated piece of PEEK) to give better accuracy.

     

  • Link to post
    Share on other sites

    Posted · Complete Hot-end and Print Head Redesign

    Looks pretty good. But, how is the retraction working? So far all "all-metal" hotends have failed our retraction-hell test, and blocking up after a few hours.

     

    So far it's working great. With only 1.5mm retraction I see no stringing. Have you really had hot ends that work fine for hours, then fail?

    When I first tested the uncooled metal hot end, it failed right away. After simply turning the stock aluminum plate into a heat spreader, it worked without fail. Now with this proper heat sink, I don't see it failing.

  • Link to post
    Share on other sites

    Posted · Complete Hot-end and Print Head Redesign

    Looks good, I think the idea about spherical bearings on the ends of the XY rods in the blocks is a very good idea.

    Only difficulty could be the tolerance, if they were even a bit rattley it would be a disaster. But in principle its

    a very good idea

     

    That should be no issue. The bearings I'm thinking of, have no lash at all, and are actually a little "sticky" in rotation, which would be fine.

    What's the OD on the bronze bushings?

  • Link to post
    Share on other sites

    Posted · Complete Hot-end and Print Head Redesign

    The clerance I was thinking of was between the 6mm rod, and the inside bore of the spherical bearing. However

    worse case, probably some loctite would sort that out...or even perhaps a sliver of ptfe tape.

    The bronze bushes are Ø11mm nominal size. I didnt take the opportunity to measure one properly

    while I had it all dissasembled....

    C.

     

     

  • Link to post
    Share on other sites

    Posted · Complete Hot-end and Print Head Redesign

    I think the housing should clamp the 6mm rod tightly.

    The ID of the spherical bearing could be bought undersized and drilled to fit. Or glued like you mentioned.

  • Link to post
    Share on other sites

    Posted · Complete Hot-end and Print Head Redesign

    Lars, I'm sure that your changes have made several aspects of the print head operating envelope more tightly defined, and among other things, it probably helps to reduce hot-end nozzle blockages due to heat transfer. And those are all good things, and I'm grateful for all the work you've put in, to advance the state of knowledge.

    My personal interest is in being able push the quality/time envelope in favor of reduced print times while maintaining or improving overall quality. And while that requires control etc, over heating, above all else it requires actually being able to heat the plastic quickly.

    While very high temperatures, all things being equal, do lead to excessively runny uncontrollable PLA, that's only true if the PLA is actually reaching those temperatures. When printing high volumes - e.g., to print multiple layers of infill fast, if not to actually print the finished surface at high speeds/volumes (although that works ok for me too in many circumstances) - then the PLA doesn't actually reach those temperatures - which is the point/problem. Setting the heater excessively high and then relying on high throughput to keep the plastic workable doesn't seem like a good solution, because you inevitably get to slower bits, and the plastic gets hotter than you really want, and quality suffers. So, a solution that allows you to reach an equilibrium with the plastic actually getting to the target temperature before it is extruded seems like the ideal model to aim for. I'm not sure that a short melt zone, in and of itself, is helpful in that regard.

    Having a short, responsive hot zone might be all well and good, if what it's responding to is the temperature of the extruded plastic. But if you're just measuring the temperature of the heating block assembly, and the PLA isn't having enough time to reach the temperature of the rest of the block, then you don't really get control over the temperature of the extruded plastic, and my sense is that you are probably restricting the speeds at which you can get attractive and reliable prints.

     

  • Link to post
    Share on other sites

    Posted · Complete Hot-end and Print Head Redesign

    I tried the same gcode with white PLA from German Reprap today. The speed difference to the colorfabb PLA/PHA is impressive. Infill is only fine up to approx 170 mm/s, even with increased temp and flow rate.

    Lars, it would be interesting to see how the PLA/PHA filament works with your hot end redesign some day. It's less viscous and therefore more prone to the issues you are adressing.

     

  • Link to post
    Share on other sites

    Posted · Complete Hot-end and Print Head Redesign

    Lars, I'm sure that your changes have made several aspects of the print head operating envelope more tightly defined, and among other things, it probably helps to reduce hot-end nozzle blockages due to heat transfer. And those are all good things, and I'm grateful for all the work you've put in, to advance the state of knowledge.

    My personal interest is in being able push the quality/time envelope in favor of reduced print times while maintaining or improving overall quality. And while that requires control etc, over heating, above all else it requires actually being able to heat the plastic quickly.

    While very high temperatures, all things being equal, do lead to excessively runny uncontrollable PLA, that's only true if the PLA is actually reaching those temperatures. When printing high volumes - e.g., to print multiple layers of infill fast, if not to actually print the finished surface at high speeds/volumes (although that works ok for me too in many circumstances) - then the PLA doesn't actually reach those temperatures - which is the point/problem. Setting the heater excessively high and then relying on high throughput to keep the plastic workable doesn't seem like a good solution, because you inevitably get to slower bits, and the plastic gets hotter than you really want, and quality suffers. So, a solution that allows you to reach an equilibrium with the plastic actually getting to the target temperature before it is extruded seems like the ideal model to aim for. I'm not sure that a short melt zone, in and of itself, is helpful in that regard.

    Having a short, responsive hot zone might be all well and good, if what it's responding to is the temperature of the extruded plastic. But if you're just measuring the temperature of the heating block assembly, and the PLA isn't having enough time to reach the temperature of the rest of the block, then you don't really get control over the temperature of the extruded plastic, and my sense is that you are probably restricting the speeds at which you can get attractive and reliable prints.

     

    I'm going to refer back to my last post. You are trying to cross a bridge we haven't arrived at yet.

    Until you run into a situation where (at the speed you are after) the motion quality of the print head is acceptable, but you can't extrude fast enough, the solution to faster printing is either in the slicer program and/or the UM's control system.

    In regard to thermal responsiveness, I don't see any benefit of using a brass nozzle. It is less thermally conductive than aluminum, and its specific heat isn't redeeming. The better solution would be a one piece aluminum heater / nozzle. This would eliminate the thermal resistance of the threaded nozzle connection, and the brass as well.

     

  • Link to post
    Share on other sites

    Posted · Complete Hot-end and Print Head Redesign

    I'm going to refer back to my last post. You are trying to cross a bridge we haven't arrived at yet.

    Until you run into a situation where (at the speed you are after) the motion quality of the print head is acceptable, but you can't extrude fast enough, the solution to faster printing is either in the slicer program and/or the UM's control system.

     

    I find that my more or less stock, but well tuned, printer can definitely gracefully support higher throughput than the hot end can deliver, and in comparing my results with others, it seems that both my mechanics and my throughput are representative of many other users. If the limiting factor for you is the printer mechanics, then I'd definitely try and figure out what's different about your printer.

    Getting sufficiently fast extrusion is a problem that I deal with on a daily basis. In my experience helping users on here, and offline, I'd say it's the single largest problem that trips up new users and leads to blocked heads and stripped filament. With the wrong settings, you can very easily exceed the throughput capacity of a standard nozzle at very mediocre linear speeds.

    As Joergen noted, while you might want to print perimeters at more modest linear speeds, you can certainly print loops and infill at very high linear speeds, and all of them at high volumetric throughput, in order to reduce print time without impacting finished print quality or strength.

     

  • Link to post
    Share on other sites

    Create an account or sign in to comment

    You need to be a member in order to leave a comment

    Create an account

    Sign up for a new account in our community. It's easy!

    Register a new account

    Sign in

    Already have an account? Sign in here.

    Sign In Now
    • Our picks

      • UltiMaker Cura 5.9 stable released!
        Here comes Cura 5.9 and in this stable release we have lots of material and printer profiles for UltiMaker printers, including the newly released Sketch Sprint. Additionally, scarf seams have been introduced alongside even more print settings and improvements.  Check out the rest of this article to find out the details on all of that and more
          • Like
        • 5 replies
      • Introducing the UltiMaker Factor 4
        We are happy to announce the next evolution in the UltiMaker 3D printer lineup: the UltiMaker Factor 4 industrial-grade 3D printer, designed to take manufacturing to new levels of efficiency and reliability. Factor 4 is an end-to-end 3D printing solution for light industrial applications
          • Heart
          • Thanks
          • Like
        • 4 replies
    ×
    ×
    • Create New...