Structure changed for packaging
nonfunctioning partial new implementation