Restructure

based on issue #75