more generalization, less silly functions
cleanup, release 0.4.1