initial implementation minus build_install