refactor make system
add boundary tests
add boundary tests