refactor to use active model serialization