$KGEN
Study it, it looks promising.