There is not a perfect solution. There are many bad solutions. There are a few solutions that are OK but with different tradeoffs.
Fast. Cheap. Good. You can pick two of those, can never have all three.
Fast. Cheap. Good. You can pick two of those, can never have all three.