finish serial, not yet fully tested
test
finish serial implementation. finish testing on git branch with vim