What is the best way to make a gun?

These few days I have been making a gun. And I am suffering from a few problems mainly being low latency issues. If the user has low ping then the gun effects and animations are too laggy. And the bullets are not detailed. So therefore what is the best way to make a gun compatible with low latency and what would be the best way to make bullets? Moving parts? Beams? Long boi parts?