re-structure project and add setup
add unittest
update probabilities for default segment count