v 0.9, almost done