use GPLv2
add modules dependencies
add tests