functional updates

  * literal BF(brafck)
  * refactoring
  * add simple tests