better build process, closes #5