restructure, some additions