refactor: user metadata and data; this closes #26 and #27