first working version after rewrite
first working version after rewrite with new files
by category or program list now working
workable state
merge upstream