first version derived from puli sources