Fix a few crashes, begin actual side-based implementation