libgnomonic reformulation - work in progress