resolves #18

also improves some automation