start prep to make a real library
accept normal dicts as settings
fix tests