REV: refine utils.py
REV: refine build.py
REV: write more docstring
REV: initial tests module and tests for utils