refactor get_one()