Add build system
Add library (untested)