re-organizing where the data is initiated. fixes #21