Initial specification draft.
add test suite