use python __coerce__
use eval() instead of __call__()
add gitignore
further correction of using eval() instead of call; add PassThrough