move Piece class to its own file
fix doc string
draft for a shell client
add virtualenv folder to .gitignore