finished refactor of get_data method
first concrete implementation of serealization code, still need to work on generalizing it