stack overflow opinions
better arg processing and a proper build/target/host